首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在QueryStringParameter和ControlParameter中使用ASP.NET中的GridView ItemTemplate

在QueryStringParameter和ControlParameter中使用ASP.NET中的GridView ItemTemplate
EN

Stack Overflow用户
提问于 2011-12-20 21:01:33
回答 2查看 979关注 0票数 0

我有一个ASP.NET应用程序。这个应用程序有一个GridView。这个GridView有一个需要包含超链接的TemplateField。我希望这些超链接以

代码语言:javascript
复制
add.aspx?id1=[QueryStringParameterValue]&id2=[ControlParameterValue]&id3=[CurrentRecordID]

有办法这样做吗?如果没有,那么将用户重定向到另一个页面并加以考虑的最佳方式是什么:

当前查询字符串中的值(下拉列表中选定项的QueryStringParameterValue)

  • The值( ControlParameterValue)

  • The当前记录ID

))

目前,我的GridView看起来如下:

代码语言:javascript
复制
<asp:DropDownList ID="myDropDownList" Runat="Server" DataSourceID="myDataSource" DataTextField="Name" DataValueField="ID" />
<GridView ID="myGridView" runat="Server">
  <Columns>
    <asp:BoundField DataField="ID" HeaderText="ID" />
    <asp:BoundField DataField="Name" HeaderText="Name" />
    <asp:TemplateField HeaderText="Action">
      <ItemTemplate>
        <a href="#">View Details</a>
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>

但现在我被困住了。如何将我想要包含在我的ItemTemplate中的三个项目连接起来?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-20 21:23:46

ASPX

代码语言:javascript
复制
<a href='<%# CreateUrl(Eval("id")) %>'>View details </a>

C#

代码语言:javascript
复制
public string CreateUrl(obj value)
{
       var p = request.querystring["querystringname"];
       if(p!=null)
       {
         return "add.aspx?id1=" + p + "&id2=" + mydropdownlist.selectedvalue + "&id3=" + id;
       }
        return "";
}
票数 0
EN

Stack Overflow用户

发布于 2011-12-20 21:21:30

我会将请求数据与响应数据分开。这样,如果有变化(用表单post替换下拉列表或querystring,等等),网格视图就不会改变。

代码背后

代码语言:javascript
复制
protected string Value1{get {return Request.QueryString["key"];}}
protected string Value2 {get {return DropDown.SelectedValue;}}

标记

代码语言:javascript
复制
<GridView ID="myGridView" runat="Server">
  <Columns>
    ...
    <asp:TemplateField HeaderText="Action">
      <ItemTemplate>
        <a href='<%=string.Format("add.aspx?id1={0}&id2={1}&id3={2}", Value1, Value2, Eval("ID"))%>'>View Details</a>
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8581928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档