我有两个具有点击功能的按钮
单击时,第一个会被分配一个变量。
当我单击按钮 2 时,如何让我的第二个按钮从第一个按钮获取变量?
它似乎不起作用。由于第二个按钮无法识别变量。
谢谢
编辑:
只是为了澄清我的代码正在生成一个pdf。按钮 1 选择要使用的模板的 url。在按钮 2(生成 pdf 的那个)中,我希望它从按钮 1 中获取变量集,以便它知道要使用什么模板。
编辑 2:我的代码确实有效,但仅当我不使用 ajax 更新面板时。似乎我试图设置的变量没有用 AJAX 设置
我有两个具有点击功能的按钮
单击时,第一个会被分配一个变量。
当我单击按钮 2 时,如何让我的第二个按钮从第一个按钮获取变量?
它似乎不起作用。由于第二个按钮无法识别变量。
谢谢
编辑:
只是为了澄清我的代码正在生成一个pdf。按钮 1 选择要使用的模板的 url。在按钮 2(生成 pdf 的那个)中,我希望它从按钮 1 中获取变量集,以便它知道要使用什么模板。
编辑 2:我的代码确实有效,但仅当我不使用 ajax 更新面板时。似乎我试图设置的变量没有用 AJAX 设置
你的按钮有Id
,你用他的按钮得到这个按钮Id
注意:您可以添加 runat="server" 以便在服务器端进行可视化
<asp:Button id="Button1"
Text="Click "
OnClick="Btn1_Click"
runat="server"/>
<asp:Button id="Button2"
Text="Click "
OnClick="Btn2_Click"
runat="server"/>
void Btn2_Click(Object sender, EventArgs e)
{
Button1.Text = "test after click on button 2";
Template = ...;//Set your value
}
void Btn1_Click(Object sender, EventArgs e)
{
Button2.Text = "test after click on button 1";
//Here you can get your value after post.
var result = Template;
}
它不是主题,但在委托中,您还可以通过传递发件人参数来获得对象按钮。
var button = sender as Button; //You get button who raise event
为了管理Template Path
财产。
public string Template
{
get
{
if(ViewState["Template"] != null)
{
return (string)ViewState["Template"];
}
}
set{ViewState["Template"] = value;}
}
我猜您正在查看在 button2 的点击事件中访问变量的值,该变量的值是在 button1 点击事件中设置的?
private string myPrivateString = "";
void Page_Load()//Not sure of correct method signature
{
if(Page.IsPostBack)
{
myPrivateString = Session["myPrivateString"];
}
}
void Button1_Click(object sender, EventArgs e)
{
//There will a postback before this gets executed
myPrivateString = "Value Set From Button 1";
Session["myPrivateString"] = myPrivateString;
}
void Button2_Click(object sender, EventArgs e)
{
//There will a postback before this gets executed
//Accessing myPrivateString here without setting value from session
//will return empty string as after PostBack its a new page thats rendered.
myPrivateString = Session["myPrivateString"]; // Or do it in the Page_Load event
}
我想现在你可以在 button2 click 事件中获取值。
另请阅读 ASP.NET 页面生命周期以及 ASP.NET 框架如何处理按钮单击等客户端事件。