HyperLink传值问题
我想在超链接里面传个ID
<tr><td><asp:HyperLink runat="server" Style="position: relative" ID="HyperLink2" NavigateUrl='~/searchPublishNew.aspx?id="+(Int)Session["id"]+"'><%=(String)Session["title"] %></asp:HyperLink></td></tr>
这个aspx页面的控件,我想在NavigateUrl里面把id的值加上去,但是运行的时候,id的值却是Session["id"]。
求指点。。。 --------------------编程问答--------------------
--------------------编程问答-------------------- '~/searchPublishNew.aspx?id="+(Int)Session['id']+"'
NavigateUrl='~/searchPublishNew.aspx?id="+<%=Session["id"]%>+"'
引号错误,这样试试 --------------------编程问答-------------------- 我看错了 不好意思
--------------------编程问答-------------------- 也可以后台赋值 超链接嘛 没必要什么都写在前台 --------------------编程问答--------------------
这个不行,我试过了 --------------------编程问答--------------------
? --------------------编程问答-------------------- NavigateUrl="<%= '~/searchPublishNew.aspx?id=' + Session["id"].ToString() %>"
--------------------编程问答-------------------- 单步调试下哦 --------------------编程问答-------------------- NavigateUrl='~/searchPublishNew.aspx?id="+<%=getID()%>+"'
后台 写 public getID() 函数
直接 return Session["id"].tostring()
方法很多的
--------------------编程问答-------------------- NavigateUrl="<%= '~/searchPublishNew.aspx?id=' + Convert.ToInt32(Session["id"]) %>"
--------------------编程问答-------------------- NavigateUrl='~/searchPublishNew.aspx?id='+(Int)Session["id"]
试试 --------------------编程问答--------------------
报错:
服务器标记不能包含 <% ... %>
--------------------编程问答--------------------
报错:
服务器标记不能包含 <% ... %> --------------------编程问答-------------------- 那你就后台呗。。为啥非要在前台。。。不会 --------------------编程问答-------------------- 不知道你的HyperLink是不是要重复生成多次,如果是的话,用绑定语法Eval不就可以了嘛,如果只是单个控件的话,那就在后台赋值啊,或者<%=''+session[''] %>看下 --------------------编程问答--------------------
运行结果:跳转的路径为:
searchPublishNew.aspx?id="+<%=getId() %>+"
还是不行啊 --------------------编程问答--------------------
是,不知道怎么绑定。。。
<%
string path = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E://UMMSDB.mdb";
OleDbConnection conn = new OleDbConnection(path);
string sql = "select top 5 art_id,art_title from article";
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql,conn);
OleDbDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
Session["title"] = reader.GetString(1);
Session["id"] = reader.GetInt32(0);
%>
<tr><td><asp:HyperLink runat="server" Style="position: relative" ID="HyperLink2" ><%=(String)Session["title"] %></asp:HyperLink></td></tr>
<%
}
conn.Close();
%>
这是部分代码 --------------------编程问答-------------------- 用a标签试试。 --------------------编程问答-------------------- <asp:HyperLink ID="lnkCreate" runat="server" NavigateUrl="javascript:popupWin('create');">创建</asp:HyperLink>
-------------------------------------
<script type="text/javascript">
function popupWin(action,e)
{
if(action=='create')
{
var retVal = window.showModalDialog('CreateClassife.aspx?pid='+pid,null,'dialogWidth:650px;dialogHeight:240px;status:no');
}
}
代码贴上来了,自己看下.
--------------------编程问答-------------------- NavigateUrl="~/New.aspx?id=' + <%# Eval("id") %>+'>"
--------------------编程问答--------------------
用a标签搞定了。。。 --------------------编程问答-------------------- NavigateUrl='~/New.aspx?id=' + <%= session["id"].ToString() %>+'>'
这样就行了。
<a href='~/New.aspx?id='+<%=session["id"].ToString()%>...</a>
也可以这样。 --------------------编程问答-------------------- int id=Convert.ToInt32(Session["id"])
NavigateUrl='~/searchPublishNew.aspx?id="+<%=id>+"'
--------------------编程问答-------------------- mark
--------------------编程问答--------------------
'>'
这是什么? --------------------编程问答--------------------
不行 --------------------编程问答--------------------
定义成 全局变量 --------------------编程问答--------------------
NavigateUrl='~/searchPublishNew.aspx?id=Session["id"]'--------------------编程问答-------------------- 因为有了runat
所以不能包含<%..%>
你改成<a>就可以了! --------------------编程问答--------------------
这是正确的!!!
补充:.NET技术 , ASP.NET