2013-02-14 3 views
0

Я новичок в ASP, и меня задерживает мой контроль ascx. У меня есть контроль Upload.ascx со следующим кодом инициализацииДоступ к динамическим атрибутам javascript из codebehind

<%@ 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"] становится нулевым в коде. Как я могу получить к нему доступ и что я делаю неправильно?

ответ

2

Вы не можете сделать это следующим образом:

Есть два способа:

Пропустите GUID с сервера и хранить в некоторых буквальных и получить доступ к буквальному использованию JQuery и т.д.

ИЛИ

Создайте скрытое поле на стороне сервера и назначьте значение.

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

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

На предоставить доступ к скрытому поле

+0

О, спасибо человеку, он решил мою проблему)) Есть ли способ, чтобы получить доступ к скрытой управления по идентификатору, или я должен проверить мои Request.Params, чтобы получить значение руководства? – Alex

+0

@voo Добро пожаловать в SO – Moons

Смежные вопросы