我给了一个按钮一个名为 notetype 的属性。
<asp:ImageButton ID="bttnSave" notetype="none" runat="server" ImageUrl="~/images/bttnSave.gif" onclick="bttnSave_Click" />
我有一个通过单击不同按钮来将该变量设置为某种类型的函数。
function addnotes(Type,IncId,Acc,Wit,Claim,Inj,Prop,Media) {
var bttnopenmodal = $get('<%=bttnopenmodal.ClientID %>');
var bttnSave = $get('<%=bttnSave.ClientID %>');
if (Type == 'Inc') {
bttnSave.notetype = 'Inc';
}
bttnopenmodal.click();
return false;
}
但是在按钮的 C# 代码中:
protected void bttnSave_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect(bttnSave.Attributes["notetype"]);
}
即使我在 JavaScript 中更改了保存按钮的注释类型,其值仍然为“无”。我什至提醒确保它更改了注释类型,而且确实如此。我尝试使用更新面板更新按钮,但无济于事。我如何正确更改该注释类型?
最佳答案
仅value
表单控制元素的属性与表单 post 一起发送(对于 <input type="image" />
根本不发送任何内容)。你不能指望浏览器知道发送 "notetype=none"
在帖子正文中只是因为您将其指定为属性。这就是<input type="hidden" name="notetype" value="none" />
将用于。
Viewstate 会让你忘记这一切,直到你尝试在客户端中更改它,整个事情就会崩溃。
关于c# - 代码中的访问控制属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683139/