【问题标题】:how to call code behind function with parameter from java script function如何使用来自javascript函数的参数调用函数背后的代码
【发布时间】:2013-07-25 17:13:27
【问题描述】:

我想从 java 脚本函数中调用 .cs 文件的函数。从 javascript 函数中,我还想将一个参数传递给函数后面的代码。以下是这两个文件的代码。提前致谢。

In demo.aspx
<script>
function getValue(id)
{
   "<%getData(id);%>"
} 
</script>

In demo.aspx.cs
public void getData(string s)
{
  //code to work on string.
}

我得到的错误是 'id' 没有在 demo.aspx 文件中声明。

【问题讨论】:

    标签: javascript asp.net function code-behind


    【解决方案1】:

    您可以在 Web 表单中使用名为 btnSave 的按钮尝试此操作,例如:

    <input type="button" id="btnSave" onclick="javascript:SaveWithParameter('Hello User')"  value="click me"/>
    
    <script type="text/javascript">
      function SaveWithParameter(parameter)
       {
         __doPostBack('btnSave', parameter)
       }
    </script>
    

    在你的代码后面添加类似页面加载的内容

    public void Page_Load(object sender, EventArgs e)
    {
      string parameter = Request["__EVENTARGUMENT"]; // parameter
     // Request["__EVENTTARGET"]; // btnSave and do your work
    }
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      getData 是一种服务器端方法,因此如果您想从客户端调用它,一种可能的方法是使用 AJAX 调用并将服务器上的方法标记为脚本可调用。

      如果您使用的是 ScriptManager,一旦您将页面方法标记为WebMethod,您就可以使用 PageMethods 变量从 javascript 访问它,请参阅http://www.singingeels.com/Articles/Using_Page_Methods_in_ASPNET_AJAX.aspx

      如果您想使用 jQuery 执行此操作,请查看此帖子 http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-01
        • 1970-01-01
        • 2020-01-25
        • 1970-01-01
        相关资源
        最近更新 更多