如何使用嵌入式代码块传递查询字符串?

时间:2013-04-02 09:58:59

标签: c# javascript asp.net

我试图在点击任意生成的超链接时传递查询字符串值。像这样......

<%
------some code----
 clickedalbum = dt6.Rows[0]["albumid"].ToString();

  %> 
      <asp:HyperLink ID="HyperLink1" runat="server" href="attendance1.aspx?albumid=<%#clickedalbum %>" >

4 个答案:

答案 0 :(得分:1)

我弄清楚了,问题是我正在使用服务器控件。 使用
 <a href='attendance1.htm?albumid=<%=clickedalblum%>'>--some stuff--</a> 解决了这个问题。非常感谢大家对Ratna的回应。

答案 1 :(得分:0)

从加载事件后面的代码中执行

HyperLink1.NavigateUrl = "attendance1.aspx?albumid=" + clickedalbum;

好的,如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HyperLink ID="HyperLink1" runat="server"  NavigateUrl='<%#clickedalbum %>' Text="Testlink"></asp:HyperLink>
</div>
</form>
</body>
</html>

在背后的代码中:

using System;

public partial class test : System.Web.UI.Page
{
 public string clickedalbum = "";
protected void Page_Load(object sender, EventArgs e)
{
     clickedalbum = "attendance1.aspx?albumid=123";
     DataBind();
}
}

有关详细信息,请访问此链接Why will <%= %> expressions as property values on a server-controls lead to a compile errors?

答案 2 :(得分:0)

像这样使用

href='<%# "attendance1.aspx?albumid="+clickedalbum %>'

答案 3 :(得分:0)

NavigateUrl='<%# Eval("clickedalbum ","~/attendance1.aspx?albumid={0}") %>'