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

你不能这样做:

有两种方法:

从服务器传递 GUID 并存储在一些文字中并使用 JQuery 等访问文字

或者

创建服务器端隐藏字段并分配值。

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

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

在提交访问隐藏字段

于 2013-02-14T08:35:09.263 回答