C# 阻止控件数据绑定到ObjectDataSource?
我有一个页面需要一个数字查询字符串值。例如:C# 阻止控件数据绑定到ObjectDataSource?,c#,asp.net,c#-4.0,objectdatasource,C#,Asp.net,C# 4.0,Objectdatasource,我有一个页面需要一个数字查询字符串值。例如: Details.aspx?rgn=1234 此页面上有一个,它被数据绑定到。数据源如下所示: <asp:ObjectDataSource ID="ObjectRegion" runat="server" SelectMethod="GetRegions" TypeName="Region"> <SelectParameters> <asp:QueryStringParameter Name="RegionI
Details.aspx?rgn=1234
此页面上有一个
,它被数据绑定到
。数据源如下所示:
<asp:ObjectDataSource ID="ObjectRegion" runat="server" SelectMethod="GetRegions" TypeName="Region">
<SelectParameters>
<asp:QueryStringParameter Name="RegionID" QueryStringField="rgn" Type="Int32" DefaultValue='0' />
</SelectParameters>
</asp:ObjectDataSource>
protected void Page_Load(object sender, EventArgs e)
{
int RegionID;
string strRegion = Request.QueryString["rgn"];
if(string.IsNullOrEmpty(strRegion) || !int.TryParse(strRegion, out RegionID))
{
// setup permanent redirect
return;
}
}
问题是,我的中继器仍然进行数据绑定,这会导致
[格式异常:输入字符串的格式不正确。]
。。。这是我想要阻止的。有什么简单的方法可以解决这个问题吗?我回答了自己的问题。我忘记在永久重定向上添加一个Response.End()
:
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location",URL);
Response.End();