使用DataList控件在其他页面上重定向用户并根据上一页中单击的按钮获取该页面上的数据

时间:2013-03-30 06:57:11

标签: asp.net datalist

我正在使用一个datalist控件,其中我有一个div和一些其他的asp控件。 我有一个编辑按钮。如果我点击编辑按钮,我想将用户重定向到我有一些控件的另一个页面,我希望根据我在上一页中单击的按钮填写这些控件中的信息。

这是数据主义代码:

<asp:DataList ID="DataList1" runat="server" DataKeyField="ID" RepeatColumns="2" RepeatDirection="Horizontal" RepeatLayout="Table">


        <ItemTemplate>
          <div><br /><br /><br />
          <div style="background-color:Silver;height: auto; display:block;" >

                <div id="threadPostLeftDiv" style="width:auto; border-style:solid; border-width:2px; border-color:Black;border-right-color:White;" >
                <asp:Image runat="server" ID="ImagePreview1" style="margin-right:5px; " ImageUrl='<%# Eval("imageurl") %>' Height="100px" Width="100px" BorderStyle="None" />

                </div>
                <div id="threadPostRightDiv" style=" border-style:solid; border-width:2px;margin-left:-15px; border-color:Black;border-left-color:White;">


                    <asp:Label ID="txtHeadline1"  CssClass="inputprev" style=" font-size:medium; font-weight:bolder;"   Text='<%# Eval("subtitle") %>' Enabled="false"
                        placeholder="Headline" runat="server"></asp:Label>
                    <br />

                    <asp:Textbox ID="txtDescription1"  CssClass="inputprevdesc1"  Text='<%# Eval("descriptions") %>'
                        Enabled="false" BackColor="Silver" Rows="3" TextMode="MultiLine" placeholder="Description"  runat="server"></asp:Textbox><br />
                    <br />

                    <asp:Label ID="txtOfferHeadline1" Text='<%# Eval("title") %>' Enabled="false"  CssClass="inputprev1" 
                         placeholder="Offer Headline" runat="server"></asp:Label>
                     <br />
                </div>

          </div>
                <div style=" float: right;margin-right:10px; ">
                 <button id="btnEdit"  class="css3button1" onserverclick="btnEdit_Click" runat="server">Edit</button>

                </div>

          </div>
</asp:DataList>

请帮助我实现目标,给我背后的代码以及触发的事件。 谢谢。

3 个答案:

答案 0 :(得分:0)

通过做以下事情可以很容易地实现

  1. 使用id

    绑定'btnEdit'命令参数
    <button id="btnEdit"  class="css3button1" onserverclick="btnEdit_Click" runat="server" CommandArgument='<%# Eval("ID") %>' >Edit</button>
    
  2. 在btnEdit_Click事件中执行以下操作

    Button bt = (Button)sender;
    string recordid = bt.CommandArgument;
    Response.Redirect("editrecordno.aspx?recordid="+recordid,true);   
    
    在editrecordno.aspx页面中请求查询字符串并完成需要。

答案 1 :(得分:0)

在Button_Click事件中,您应重定向到QueryString参数的另一页 用此代码行替换修改 <button>

<asp:Button ID="Button1"   PostBackUrl='DataEdit.aspx?id=<%# Eval("id") %>' runat="server" Text="Edit" />

在DataEdit.aspx中,将FormViewDefaultMode=Edit放在一起 然后在DataSource

中添加新的QueryString参数

答案 2 :(得分:0)

我将html按钮转换为链接按钮并解除了 onRowCOmmand事件,我得到了解决方案。