html从c#代码后面访问变量值

时间:2011-03-14 16:57:10

标签: c# javascript query-string code-behind

我正在尝试从后面的代码中访问一个值来创建查询字符串。这是我想到的最简单的方法,但如果你们有任何建议,请随时提出你的想法:

我有这个链接可以生成查询字符串并触发灯箱在主页面前显示页面:

<a id="link" runat="server" href="thepage.aspx?id=<%strtest%>">Show the page with strtest</a>

代码背后:

public string strtest = "";
:
string strTestID = Request.QueryString["ID"].ToString();
:
strtest = strTestID ;

目前,它只会给我一个空白的灯箱。如果我取出灯箱并看到生成的网址,则网址看起来像这样。

thepage.aspx?id=<%strtest%>

就像我说的那样,我做了我能想到的最简单的方式。我还想过用这个

实现javascript
string jsString= "changeLink('" + strtest  + "');";

但是这会让我的参数出错,顺便说一句,因为没有它就可以正常工作。

所以是的,任何帮助都表示赞赏。

2 个答案:

答案 0 :(得分:3)

由于锚标记上的'runat =“server”'属性,您会看到此行为。删除属性,值将正确显示。此外,您还需要更改&lt;%strtest%&gt;的代码。至&lt;%= strtest%&gt;

答案 1 :(得分:2)

我想你想要:

<a id="link" href="thepage.aspx?id=<%=strtest%>">Show the page with strtest</a>

在asp.net 4中,这是更可取的:

<a id="link" href="thepage.aspx?id=<%:strtest%>">Show the page with strtest</a>

此表单执行自动编码以帮助防止XSS和其他攻击。