javascript - 使用 ClientScript.GetPostBackEventReference 时将事件参数从 javascript 传递到代码隐藏

标签 javascript asp.net

我正在尝试从 java-script 触发回发并传递事件参数。我能够触发回发 **但无法传递事件参数。

以下功能不起作用。它不喜欢 ClientScript.GetPostBackEventReference 中的 args 参数。

<script type="text/javascript">

function TriggerServerSideClick(args) {
  //btnDummy is a asp.net server-side button control            
  <%=ClientScript.GetPostBackEventReference(btnDummy, args , true)%>

  //tried this ->  <%= 'ClientScript.GetPostBackEventReference
  //      (btnDummy,' + args + ', true)' %> , 
  //      but i guess i am definitely missing something.
}

</script>

我在这里缺少什么?

我知道以下内容有效

 __doPostBack('btnDummy', args); 

但希望远离 __doPostBack,因为这种情况最终可能会改变,并尝试使用 ClientScript.GetPostBackEventReference

感谢您的宝贵时间。

@Brian:非常感谢您的跟进。我尝试了你的占位符方法,但出现了 javascript 错误。 (消息:应为“;”)
这是 View 源代码片段:

var postbackUrl = '__doPostBack('ctl00$MainContent$btnDummy','{0}')';

   function TriggerServerSideClick(args) {

      var url = String.format(postbackUrl, args);
      eval(url);
   }

最佳答案

试试这个:

var postbackUrl = '<%=ClientScript.GetPostBackEventReference(btnDummy, "{0}", true)%>';

function TriggerServerSideClick(args) {
   var url = String.format(postbackUrl, args);
   eval(url);
}

在参数应该所在的位置放置一个占位符,然后使用客户端方法替换占位符(客户端 String.format 方法)并使用它进行回发。

HTH。

关于javascript - 使用 ClientScript.GetPostBackEventReference 时将事件参数从 javascript 传递到代码隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508454/

相关文章:

javascript - 为什么 jQuery html() 在 IE10 的网页中运行时失败

c# - 如何解决Unable to resolve type : React. ReactEnvironment Exception

javascript - 如何将额外的参数传递给 JS Array.forEach()

javascript - 如何在 Typescript 中定义依赖于字符串参数的函数参数类型?

javascript - 如果在上层作用域中声明了变量,则在局部作用域中 undefined variable ,并且在未执行的语句中在局部作用域中声明了具有相同名称的 var

javascript - 即使首先在 js onclick 函数中返回 false,ASP.NET 按钮也始终会转到服务器

asp.net - ASP.NET 中面向服务的实际示例应用程序

javascript - Android 关于 :debug fixes JS 的错误

c# - 如何在 ItemCommand 事件后获取 TextBox 的 Text 属性

javascript - 通过 javascript 中记住的正则表达式分割字符串