C# 对Gridview排序会中断Gridview中的ModalPopUp
我有一个gridview,它有一个链接按钮,可以用值调用ModalPopup和文本框。我试图为gridview实现排序,但是排序所需的if(!ispostback)语句阻止出现modalpopp。它也不会对gridview中的文本框进行排序。有没有一种方法可以在页面加载时不使用ispostback来实现排序 下面是modalpopp、gridview绑定和排序的代码C# 对Gridview排序会中断Gridview中的ModalPopUp,c#,asp.net,gridview,modalpopupextender,C#,Asp.net,Gridview,Modalpopupextender,我有一个gridview,它有一个链接按钮,可以用值调用ModalPopup和文本框。我试图为gridview实现排序,但是排序所需的if(!ispostback)语句阻止出现modalpopp。它也不会对gridview中的文本框进行排序。有没有一种方法可以在页面加载时不使用ispostback来实现排序 下面是modalpopp、gridview绑定和排序的代码 protected void Page_Load(object sender, EventArgs e) {
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["sortOrder"] = "";
Bind_Gridview("", "");
loadModals();
}
}
protected void viewModal(object sender, EventArgs e)
{
...
mainPanel.Controls.Add(exstModal);
mainPanel.Controls.Add(exstModalBox);
exstModalBox.Show();
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
Bind_Gridview(e.SortExpression, sortOrder);
}
public string sortOrder
{
get
{
if (ViewState["sortOrder"].ToString() == "desc")
{
ViewState["sortOrder"] = "asc";
}
else
{
ViewState["sortOrder"] = "desc";
}
return ViewState["sortOrder"].ToString();
}
set
{
ViewState["sortOrder"] = value;
}
}
protected void gv1_RowCommand(object sender, GridViewRowEventArgs e)
{
...
CheckBox cb = new CheckBox();
TextBox ca = new TextBox();
ca.Width = 20;
TextBox cga = new TextBox();
cga.Width = 20;
if (e.Row.RowType == DataControlRowType.DataRow) //Foreach row in gridview
{
while (dr1.Read())
{
ca.Text = dr1["cyla"].ToString();
cga.Text = dr1["cga"].ToString();
checkText = dr1["completed"].ToString();
if (checkText == "True")
{
cb.Checked = true;
}
else
{
cb.Checked = false;
}
}
...
dr1.Close();
conn1.Close();
e.Row.Cells[6].Controls.Add(ca);
e.Row.Cells[8].Controls.Add(cga);
e.Row.Cells[9].Controls.Add(cb);
...
}
GridView具有内置的排序功能。根据用于填充数据的数据集,您可能不需要手动处理任何事情,更不用说使用ViewState了 查看此MSDN页面上的第二个示例,请注意,它从不使用ViewState手动执行任何操作。。。
OnSorting
和OnSorted
事件仅用于显示额外信息或强制要求:
如果您发布更多的代码(包括.aspx页面、模式弹出窗口的标记以及
loadModals()的代码)
function,我们可能能够更好地帮助您。我正在创建BoundFields,并有一个RowDataBound事件来填充后端的gridview。我认为以编程方式创建排序功能是唯一的方法。