我的服务器端有一个功能。
protected void SelectParticipant(string CompanyId, string EmployeeNumber)
{
//I do some stuff here.
}我想从客户端的JavaScript调用这个函数。我已经尝试过搜索它,但我发现的所有建议都是通过AJAX调用Page方法。我不想那样,我想要回发。
function MyJSFunction(companyid, employeenumber)
{
//cause postback and pass the companyid and employee number
//this is where I need help!
}如何从我的JavaScript引发回发并运行服务器端函数?
发布于 2014-04-04 15:17:36
我就是这么做的..。
<script type="text/javascript">
function AddParticipant(companyid, employeenumber)
{
$("#AddParticipantPanel").dialog("close");
var myargs = {CompanyId: companyid, EmployeeNumber: employeenumber};
var myargs_json = JSON.stringify(myargs);
__doPostBack('<%= SelectParticipantBtn.UniqueID %>', myargs_json);
}
</script>
<asp:Button runat="server" ID="SelectParticipantBtn" ClientIDMode="Static" OnClick="SelectParticipantBtn_Click" style="display:none;" />在服务器端。
/* this is an inner class */
public class SelectParticipantEventArgs
{
public string CompanyId {get; set;}
public string EmployeeNumber {get; set;}
}
protected void SelectParticipantBtn_Click(object sender, EventArgs e)
{
string args = Request.Form["__EVENTARGUMENT"];
var myargs = JsonConvert.DeserializeObject<SelectParticipantEventArgs>(args);
string emp_no = myargs.EmployeeNumber;
string company_id = myargs.CompanyId;
//do stuff with my arguments
}我没有使用HiddenFields,而是使用了一个隐藏按钮。这个模型工作得更好,因为我可以直接转到按钮的事件处理程序,而不必向Page_Load函数添加代码。
https://stackoverflow.com/questions/22865904
复制相似问题