Я хочу присвоить переменную csharp элементу страницы asp, используя javascript. Кажется, назначение не работает в моем коде.
Вот оно:
document.getElementById('lbAccessories').innerHTML = '<%#SelectLabel%>';
В моем коде asp я использую:
<asp:LinkButton ID="lbAccessories" runat="server" />'
Я не могу присвоить значение непосредственно кнопке ссылки, используя Text='<%#SelectLabel%>'
, потому что я хочу сделать его более интеллектуальным.
Кто-нибудь знает, как это сделать?
Спасибо
Редактировать:
Вот мой код, я пытался использовать <%=lbAccessories.clientId%>
, но он выдает ошибку: lbAccessories не существует в контексте.
<script type="text/javascript">
function function(Ref) {
if ('<%=TextBoxClientID%>' == 'txtLink')
{
document.getElementById('lbAccessories').innerHTML = '<%#SelectLabel%>';
}
else if ('<%=TextBoxClientID%>' == 'btnSearch') {
document.getElementById('lbAccessories').innerHTML = '<%#ViewDetail%>';
}
}
</script>
Edit:
<asp:GridView ID="gv1" AutoGenerateColumns="false" runat="server"
AllowPaging="true" OnPageIndexChanging="pic">
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="lbAccessories" runat="server" OnClientClick='<%#string.Format("passAccessory(\"{0}\");", Eval("Ref"))%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Edit:
Большое спасибо всем, кто разместил предложения.
Я изменил код JavaScript на следующий:
<script type="text/javascript">
function passAccessory(accessoryRef) {
if ('<%=TextBoxClientID%>' == 'txtLink') {
document.getElementById('<%= gvAccessories.FindControl("lbAccessories").ClientID %>').innerHTML = '<%#SelectLabel%>';
}
else if ('<%=TextBoxClientID%>' == 'btnSearch') {
document.getElementById('<%= gvAccessories.FindControl("lbAccessories").ClientID %>').innerHTML = '<%#ViewDetail%>';
}
}
</script>
в *.aspx.cs
файле, я добавил: protected LinkButton lbAccessories { get; set; }
Выдает исключение:
Ссылка на объект не установлена для экземпляра объекта
У кого-нибудь есть идеи? Большое спасибо
Edit:
Наконец, мы сделали это с помощью кода csharp. Это более гибкий и управляемый. Мой коллега помог мне. Спасибо всем за помощь !!!