先在前台写下如下方法:
<script>
function setSessionValue(value) {
__doPostBack('SetSessionPostBack', value);
}
</script>
然后调用这个方法
如在写一个MESSAGEBOX控件
RenderContents中写入
writer.Write("function submit(value, message, form) {" +
"var json = /'{/"button/":{/"value/":/"/' + value + /'/",/"id/":/"" + _controlNeedPrompt + "/"}}/';" +
"setSessionBehindValue(json);" +
"}");
后台
public static string ConfirmValue(Page page)
{
if(page.Session["MessageBoxControl"]!=null)
{
MessageBoxBehind messageBoxBehind = (MessageBoxBehind)page.Session["MessageBoxControl"];
page.ClientScript.GetPostBackEventReference(messageBoxBehind, string.Empty);
if (page.IsPostBack)
{
string eventTarget = (page.Request["__EVENTTARGET"] == null) ? string.Empty : page.Request["__EVENTTARGET"];
string eventArgument = (page.Request["__EVENTARGUMENT"] == null) ? string.Empty : page.Request["__EVENTARGUMENT"];
if (eventTarget == "SetSessionBehindPostBack")
page.Session["SessionMessageBoxBehind"] = eventArgument;
}
else
{
page.Session["SessionMessageBoxBehind"] = null;
}
if (page.Session["SessionMessageBoxBehind"] != null)
{
return page.Session["SessionMessageBoxBehind"].ToString();
}
else
{
return "Null";
}
}
else
{
return "Null";
}
}