Asp.net ModelBinding-使用按钮单击事件触发无参数的gridview selectmethod
我有一个带有两个ascx控件的aspx页面。第一个ascx控件包含文本框和下拉列表,允许用户选择过滤器参数。第二个控件有一个gridview来显示查询结果。cs文件具有gridview选择方法来调用get数据。我注意到,在初始加载时,会调用gridview选择方法。如果选择了任何过滤器控件,也将调用gridview选择方法 问题是,在初始加载之后,如果在没有选择过滤器参数的情况下单击搜索按钮,则不会调用gridview选择方法。没有对gridview选择方法的直接调用。它在gridview标记语言中指定如下 我在gridview中使用modelbinding,并在标记aspx文件中声明selectmethod 我的问题是,当我在没有选择过滤参数的情况下单击按钮时,如何让gridview select方法获得调用。是的,即使用户没有选择,我也希望它进行另一次提取 谢谢你的帮助Asp.net ModelBinding-使用按钮单击事件触发无参数的gridview selectmethod,asp.net,Asp.net,我有一个带有两个ascx控件的aspx页面。第一个ascx控件包含文本框和下拉列表,允许用户选择过滤器参数。第二个控件有一个gridview来显示查询结果。cs文件具有gridview选择方法来调用get数据。我注意到,在初始加载时,会调用gridview选择方法。如果选择了任何过滤器控件,也将调用gridview选择方法 问题是,在初始加载之后,如果在没有选择过滤器参数的情况下单击搜索按钮,则不会调用gridview选择方法。没有对gridview选择方法的直接调用。它在gridview标记语
<asp:GridView ID="gvCases" runat="server"
ItemType="OFAC.FOIA.BusinessEntities.NHObjects.VW_INBOX"
DataKeyNames="FOIA_Number"
AutoGenerateColumns="false"
SelectMethod="gvCases_GetData"
OnPreRender="gvCases_PreRender"
Width="100%">
我很想知道这个问题的真正答案,但我最后做的是在页面上添加一个HiddenField,SelectMethod使用控件值提供程序拉入该字段,然后只要在需要强制刷新时更改该值即可。在我的例子中,我使用了一个GUID,这样我就不必回调值,转换它并增加它
protected void ForceGridViewRefresh()
{
ForceRefresh.Value = Guid.NewGuid().ToString();
}
关于我的选择方法:
public IEnumerable<TestViewModel> GetData([Control("ForceRefresh")] Guid? forceRefresh)
{
...
}
公共IEnumerable GetData([Control(“ForceRefresh”)]Guid?ForceRefresh)
{
...
}
到目前为止,这似乎是“有效的”。您可以使用GridID.DataBind()并立即调用GridID\u GetData()方法 工作,但就像@NFrank说的,我真的很想知道真正的答案。我是哈奇。@D.Dubya对我也很有用。为什么会这样?微软真的不鼓励这样做吗?