m0g*_*m0g 2 c# asp.net parameters object
我试图将一个对象从一个页面传递到另一个页面,<asp:hyperlink>但没有任何成功.我试图调用一个C#方法并将该对象放入一个会话,但后来我意识到你不能调用一个方法<asp:hyperlink>.然后我考虑使用,<asp:linkbutton>但后来我需要在新窗口中打开新的网页.
我怎样才能正确地做到这一点?还有其他好的选择吗?
然后我考虑使用,
<asp:linkbutton>但后来我需要在新窗口中打开新的网页.
您无需打开新窗口...将其添加到服务器端LinkButton处理程序:
<asp:LinkButton id="btnYourLinkButton" runat="server"
OnClick="btnYourLinkButton_Click">Test</asp:LinkButton>
protected void btnLogout_Click(object sender, System.EventArgs e)
{
var someObject = GetYourDataWithSomeFunction();
Session["YourData"] = someObject; // saves to session
Response.Redirect("yourNewUrl.aspx");
}
Run Code Online (Sandbox Code Playgroud)
这会将值存储Session在同一窗口中并重定向到新页面.
编辑:
如果您需要在新窗口中打开然后执行与上述相同的操作,而不是Response.Redirect将window.openjavascript调用添加到您打开新窗口的页面:
ScriptManager.RegisterStartupScript(this, this.GetType(), "AUTOOPEN",
"window.open('yourNewUrl.aspx', '_blank');", true);
Run Code Online (Sandbox Code Playgroud)
或者,您可以只为您的click方法添加ajax调用以设置Session服务器端,然后根据您的ajax调用完成触发重定向.