我有一个字符串列表,它们是在imagebutton_click方法上生成的。我希望能够在其他网页中使用此列表。
我怎么也不确定如何在两页之间发布。
我在下面有以下代码:
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
RadGrid rg = RadGrid1;
//Get selected rows
GridItemCollection gdc = (GridItemCollection)rg.SelectedItems;
foreach (GridItem gi in gdc)
{
if (gi is GridDataItem)
{
GridDataItem gdi = (GridDataItem)gi;
if (!string.IsNullOrEmpty(gdi["Email"].Text))
{
string client = gdi["Email"].Text;
//Creating a List of Clients to be Emailed
emailList.Add(email);
}
}
//Enable the Prepare Email Page
PageView2.Selected = true;
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
if (emailList.Count != 0)
{
for (int i = 0; i < emailList.Count; i++)
{
_to = emailList[i].ToString() + ";";
}
}
else
{
_to = emailList[1].ToString();
}
//Processing Client Email
string _from = sec.GetCurrentUserEmail("test");
string _cc = "";
string _subject = SubjectTB.Text;
string _body = EmailEditor.Content;
string _tempTo = sec.GetCurrentUserEmail("temp");
string _msg = sec.SendMail(_tempTo, _cc, _from, _subject, _body, "");
if (_msg == "success")
{
//Thank the user and record mail was delivered sucessfully
TestPanel.Visible = true;
}
}
如何将emailList的值传递给ImageButton2_click(对象发送者,ImageClickEventArgs e)。目前它只传递一个空值。我收集我需要使用HTML表单来执行请求。谢谢。
答案 0 :(得分:1)
我猜测emailList是一个私有变量?你不能将它添加到LoadControlState和SaveControlState,以便稍后可用于ImageButton2_Click吗?
以下是一个示例:http://msdn.microsoft.com/en-us/library/system.web.ui.control.loadcontrolstate%28v=vs.80%29.aspx
另一种可能性是隐藏字段,可能是简单的方式,但不安全。
答案 1 :(得分:0)
您可以在ASP.Net here中了解状态管理。对于你的情况,如果button1和button2在同一个aspx页面中,Viewstate将是一个好主意。如果它们位于不同的页面,则使用会话状态管理。