<asp:HyperLink ID="HyperLink1"
runat="server" NavigateUrl='~/01NewsManage/Edit.aspx?id=<%# Eval("NewsID")%>'>修改</asp:HyperLink>在List页面点击修改跳转到Edit页面对新闻进行修改:
Edit后台部分代码:
if (Request.Params["id"] != null && Request.Params["id"].Trim() != "")
{
NewsID = int.Parse(Request.Params["id"].ToString());
}调试的时候报错,提示:NewsID = int.Parse(Request.Params["id"].ToString());输入字符串的格式不正确。
我查看Request.Params["id"]的值为:[System.Web.HttpValueCollection] = {id=%3c%25&ASP.NET_SessionId=o2nx2wzjty0rb55omf2uh0gf&CheckCode=5657&ALL_HTTP=HTTP_CONNECTION%3aKeep-Alive%0d%0aHTTP_ACCEPT%3aimage%2fjpeg%2c+application%2fx-ms-application%2c+image%2fgif%2c+application%2fxaml%2bxml%2c+image%2fpjpeg%2c+application%2fx-ms-xb...
忘各位大神帮忙指导下。在下万分感激
runat="server" NavigateUrl='~/01NewsManage/Edit.aspx?id=<%# Eval("NewsID")%>'>修改</asp:HyperLink>在List页面点击修改跳转到Edit页面对新闻进行修改:
Edit后台部分代码:
if (Request.Params["id"] != null && Request.Params["id"].Trim() != "")
{
NewsID = int.Parse(Request.Params["id"].ToString());
}调试的时候报错,提示:NewsID = int.Parse(Request.Params["id"].ToString());输入字符串的格式不正确。
我查看Request.Params["id"]的值为:[System.Web.HttpValueCollection] = {id=%3c%25&ASP.NET_SessionId=o2nx2wzjty0rb55omf2uh0gf&CheckCode=5657&ALL_HTTP=HTTP_CONNECTION%3aKeep-Alive%0d%0aHTTP_ACCEPT%3aimage%2fjpeg%2c+application%2fx-ms-application%2c+image%2fgif%2c+application%2fxaml%2bxml%2c+image%2fpjpeg%2c+application%2fx-ms-xb...
忘各位大神帮忙指导下。在下万分感激
{
NewsID = int.Parse(Request.QueryString["id"].ToString());
}
不行么?
像这样的链接路径最好用相对路径
#2 我要取到这个控件对它进行属性的设置,所以不能用<a>,谢谢你的指导。
#3 页面不能运行,查看不到页面。 谢谢。
改成 NewsID =Request.Params["id"].ToString();查看下网页源文件 id 是否是数字看看
protected int ID {
get {
int id = int.TryParse(Request.QueryString["id"], out id);
return id;
}
}
int NewID = int.Parse("1"); √
你这样写会原样输出的,
看这里有例子asp.net数据绑定显示
然后再到后台:NewsID = int.Parse(Request.Params["id"].ToString());
可是现在我想对修改进行属性的变动。别如说:当Title=“啊啊"的时候,修改不能使用。
所以现在我将修改用一个HyperLink控件代替。结果NavigateUrl='~/01NewsManage/Edit.aspx?id=<%# (Eval("NewsID"))%>'这个里面传过来的id值为:id=%3c%25&ASP.NET_SessionId=o2nx2wzjty0rb55omf2uh0gf&CheckCode=5657&ALL_HTTP=HTTP_CONNECTION%3aKeep-Alive%0d%0aHTTP_ACCEPT%3aimage%2fjpeg%2c+application%2fx-ms-application%2c+image%2fgif%2c+application%2fxaml%2bxml%2c+image%2fpjpeg%2c+application%2fx-ms-xb...
后台再用:NewsID = int.Parse(Request.Params["id"].ToString());
就报错。说输入的字符串格式不正确。
求解~
运行结果,链接变成:
http://localhost:1107/.../PersonalManage/userInfo.aspx?uid=<%#Eval("userID") %>
也就是说绑定部分没有被解析
方法一: NavigateUrl=’ <%#Eval("userID","~/PersonalManage/userInfo.aspx?uid={0}") %>’
方法二: NavigateUrl='<%# "~/PersonalManage/PersonalInfoChange.aspx?UID="+Eval("userID") %>'
如果是GrilView控件的HyperLinkField,则可以这样写(因为GrilView控件的HyperLinkField的NavigateUrl不支持直接在=号后面加绑定)
<asp:HyperLinkField HeaderText="个人信息" Text="查看" DataNavigateUrlFormatString="~/PersonalManage/PersonalInfoChange.aspx?uid={0}"DataNavigateUrlFields="userID" />
也可以将HyperLinkField转换为TemplateField,然后再在TemplateField里加HyperLink,再按照前面的方法做即可
runat="server" href='../../../../01NewsManage/Edit.aspx?id=<%# Eval("NewsID")%>'>修改</a>