0

私は ASP が初めてで、ascx コントロールに行き詰まっています。次の初期化コードを持つコントロール Upload.ascx があります

 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Uploader.ascx.cs" Inherits="Uploader" %>
 <script type="text/javascript" > 
 $(function ()
 {
    var guid = GUID();//GUID() - js function which generates GUID
    $('#' + '<%= OuterId %>').attr('guid', guid);
 }
 </script>
 <div class="buttonNoHover" runat="server" id="current">Upload</div>  

および cs 初期化コード (その一部)

 protected void Page_Load(object sender, EventArgs e)
 {
    current.ID = this.ID;
 }

私のコントロール宣言は次のようになります

 <my:Uploader ID="upload" OuterId="upload" ClientIDMode="Static" runat="server" /> 

私のJSでは、属性 $('#upload').attr('guid') にアクセスでき、正しい値が得られます。しかし、フォームを送信すると、分離コードで upload.Attributes["guid"] が null になります。どうすればアクセスでき、何が間違っていますか?

4

1 に答える 1

2

次のようにすることはできません。

次の 2 つの方法があります。

サーバーから GUID を渡して何らかのリテラルに格納し、JQuery などを使用してリテラルにアクセスします。

また

サーバー側の非表示フィールドを作成し、値を割り当てます。

<asp:HiddenField runat="server" ID="hidden" />

$('[id$=hidden]').val(guid);

送信時に隠しフィールドにアクセスする

于 2013-02-14T08:35:09.263 に答える