我想从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文件中声明。
答案 0 :(得分:1)
您可以在网络表单中使用名为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
}
希望有所帮助
答案 1 :(得分:0)
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/