c# - doPostBack 无法正常工作

标签 c# javascript jquery asp.net .net

我尝试通过单击按钮进行回发。但无法获取 __EVENTTARGET__EVENTARGUMENT。目前它始终为空。我还需要做任何其他条目吗?

aspx

<asp:Button ID="btn" runat="server" OnClientClick="GetDet();" Text="Click"/>       

<script type="text/jscript">
    function GetDet() {
      var obj = $('.output');
      var sign = $('.name'); //hidden field                         
      __doPostBack('btn', sign.val());                         
    }
</script>

.cs

string tar = Convert.ToString(Request.Params.Get("__EVENTTARGET"));
string val = Convert.ToString(Request.Params.Get("__EVENTARGUMENT"));

最佳答案

而不是进行这样的黑客攻击。我实际上建议您以正确的方式做事,这样您就可以保证可扩展性,因为您永远不知道 ASP.NET 的下一个版本会发生什么,并且 ASP.NET 团队当然不会认可这些黑客攻击的类型,换句话说,您的黑客攻击可能会在 ASP.NET 的 future 版本中被破坏...始终努力避免它们。所以,如果你想做一个完整的回发,你绝对不需要 javascript....

<asp:Button ID="btn" runat="server" Text="Click"/>  

然后,如果您想发布隐藏字段的值,只需将隐藏字段添加到表单中...

<asp:HiddenField  ID="hdfName" runat="server" Value="whatever" />

如果你想在回发过程中读取隐藏字段的值...

public override void OnLoad(EventArgs args)
{
     var name = hdfName.Value;
}

这就是您应该如何以正确的方式使用 ASP.NET,而不是试图破解其内在函数

关于c# - doPostBack 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21086804/

相关文章:

javascript - CSS: margin-left scale 作为图像最大宽度的函数

javascript - 隐藏特定行之后的所有行

c# - 如何从Web API接收这个Json?

c# - 从初始化器创建列表

javascript - 我如何将此 promise 返回给 Controller ?

javascript - 按元素 ID 分配工具提示

jquery 可拖动 : draggable's handle option on the outer border of a box?

c# - 将 JSON 对象反序列化为类

c# - 为位图寻找最佳调色板

javascript - js 样式不起作用