将“链接”按钮中的值分配给字符串

时间:2014-01-22 11:14:53

标签: c# asp.net datagrid

我正在使用datagrid。这是datagrid的代码

<asp:DataGrid ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
    RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000"
    runat="server" AutoGenerateColumns="false" AllowPaging="true" Width="800px">
    <asp:TemplateColumn>
        <headerstyle width="100px"></headerstyle>
        <headertemplate>
            View
        </headertemplate>
        <itemtemplate>
            <asp:LinkButton HeaderText="View" ID="View" Text='<%# DataBinder.Eval (Container.DataItem, "Name") %>'  DataField="View" runat="server" OnClick = "EditItem"/>
        </itemtemplate>
    </asp:TemplateColumn>

我在我的代码中编写了一个方法。

protected void EditItem(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)(sender);

    string yourValue = btn.CommandArgument;

    string a = yourValue;
    string ab = "L0006.jpg";

    //  string b = Path.Combine("", a);

    this.myPDFiFrame.Attributes["src"] = Path.Combine("NoticeFile/", ab);
}

我想从链接中获取所选值以分配到字符串“yourValue”。不知道为什么总是显示Null ..提前感谢

1 个答案:

答案 0 :(得分:0)

试试这个

<asp:DataGrid  ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
    RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000"
    runat="server" AutoGenerateColumns="false" AllowPaging="true" Width = "800px" >



<asp:TemplateColumn>
                  <HeaderStyle Width="100px"></HeaderStyle>
                  <HeaderTemplate>
                   View
                  </HeaderTemplate>
                  <ItemTemplate>
                    <asp:LinkButton HeaderText="View" ID="View" Text='<%# DataBinder.Eval (Container.DataItem, "Name") %>' CommandArgument='<%# DataBinder.Eval (Container.DataItem, "Name") %>'  DataField="View" runat="server" OnClick = "EditItem"/>
                  </ItemTemplate>
                </asp:TemplateColumn>

我添加了commndargument属性。