查询字符串和响应重定向问题

本文关键字:重定向 问题 响应 字符串 查询 | 更新日期: 2023-09-27 17:56:42

我有一个listView,我想创建一个按钮或链接,当用户单击时,转到具有formview的页面,并且配置了数据:

</asp:FormView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:akhbarrConnectionString %>" 
            SelectCommand="SELECT [DarkhastId], [shakhs], [nam], [Idgharardad], [elat], [hamrah], [sabet], [karshenas], [tarikh] FROM [darkhastezam] WHERE ([DarkhastId] = @DarkhastId)">
            <SelectParameters>
                <asp:QueryStringParameter DefaultValue="0" Name="DarkhastId" 
                    QueryStringField="DarkhastId" Type="Decimal" />
            </SelectParameters>

所以我需要第 1 页中的一个链接,用于将带有查询字符串的 DarkhastId 添加到第 2 页。我一个接一个地尝试了这些,但不负责任:

             <asp:HyperLinkField DataNavigateUrlFields="DarkhastId" DataNavigateUrlFormatString="showprofile.aspx?DarkhastId={0}" HeaderText="پاسخ دهی" Text="پاسخ دهی" />
protected void ListView1_ItemUpdated(object sender, ListViewUpdatedEventArgs e)
{
    if (e.Exception == null && e.AffectedRows > 0)
    {
      string url="showprofile.aspx?DarkhastId="+e.OldValues["DarkhastId"];
      Response.Redirect(url);
    }
}

我的列表视图代码:

  <asp:ListView ID="ListView1" runat="server" DataKeyNames="DarkhastId" 
            DataSourceID="SqlDataSource1" GroupItemCount="2" 
            onitemupdated="ListView1_ItemUpdated">
            <AlternatingItemTemplate>
                <td runat="server" style="" >
              <div id="printarea">
                   شناسه ی درخواست : 
                    <asp:Label ID="DarkhastIdLabel" runat="server" 
                        Text='<%# Eval("DarkhastId") %>' />
                    <br />
                    شخص :
                    <asp:Label ID="shakhsLabel" runat="server" Text='<%# Eval("shakhs") %>' />
                    <br />
                    نام و نام خانوادگی : 
                    <asp:Label ID="namLabel" runat="server" Text='<%# Eval("nam") %>' />
                    <br />
                    شماره قرارداد : 
                    <asp:Label ID="IdgharardadLabel" runat="server" 
                        Text='<%# Eval("Idgharardad") %>' />
                    <br />
                    شرح درخواست : 
                    <asp:Label ID="elatLabel" runat="server" Text='<%# Eval("elat") %>' />
                    <br />
                    شماره موبایل : 
                    <asp:Label ID="hamrahLabel" runat="server" Text='<%# Eval("hamrah") %>' />
                    <br />
                    شماره تلفن ثابت : 
                    <asp:Label ID="sabetLabel" runat="server" Text='<%# Eval("sabet") %>' />
                    <br />
                    وضعیت پیگیری : 
                    <asp:Label ID="vaziatLabel" runat="server" Text='<%# Eval("vaziat") %>' />
                    <br />
                    کارشناس (های) اعزامی : 
                    <asp:Label ID="karshenasLabel" runat="server" Text='<%# Eval("karshenas") %>' />
                    <br />
                    تاریخ ثبت درخواست : 
                    <asp:Label ID="tarikhLabel" runat="server" Text='<%# Eval("tarikh") %>' />
                    <br />
                    </div>
                    <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                        Text="حذف درخواست" />
                    <br />
                    <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="ویرایش درخواست" />
                    <br />
                     <asp:HyperLinkField DataNavigateUrlFields="DarkhastId" DataNavigateUrlFormatString="showprofile.aspx?DarkhastId={0}" HeaderText="پاسخ دهی" Text="پاسخ دهی" />
                    <input id="btnprint" type="button" onclick="PrintDiv()" value="print" />
                </td>
            </AlternatingItemTemplate>
            <EditItemTemplate>
                <td runat="server" class="testak">
                <table>
                  <tr>
                <td>تاریخ ثبت درخواست : </td>
                <td><asp:Label ID="tarikhTextBox" runat="server" Text='<%# Bind("tarikh") %>' /></td>
                <td></td>
                </tr>
                <tr>
                <td>شناسه درخواست : </td>
                <td> <asp:Label ID="DarkhastIdLabel1" runat="server" 
                        Text='<%# Eval("DarkhastId") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td> شخص : </td>
                <td> <asp:TextBox ID="shakhsTextBox"  runat="server" Text='<%# Bind("shakhs") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>نام و نام خانوادگی :</td>
                <td> <asp:TextBox ID="namTextBox" CssClass="field"  Width="315px" runat="server" Text='<%# Bind("nam") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>شماره قرارداد : </td>
                <td><asp:TextBox CssClass="field"  Width="315px" ID="IdgharardadTextBox" runat="server" 
                        Text='<%# Bind("Idgharardad") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>شرح درخواست : </td>
                <td> <asp:TextBox CssClass="field" Height="194px" TextMode="MultiLine" Width="315px" ID="elatTextBox" runat="server" Text='<%# Bind("elat") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>شماره موبایل : </td>
                <td><asp:TextBox ID="hamrahTextBox" CssClass="field"  Width="315px" runat="server" Text='<%# Bind("hamrah") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>شماره تلفن ثابت : </td>
                <td><asp:TextBox ID="sabetTextBox" CssClass="field"  Width="315px" runat="server" Text='<%# Bind("sabet") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>وضعیت پیگیری : </td>
                <td><asp:TextBox ID="vaziatTextBox" runat="server" Text='<%# Bind("vaziat") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td> کارشناس (های) اعزامی : </td>
                <td><asp:TextBox CssClass="field" Height="194px" TextMode="MultiLine"  Width="315px" ID="karshenasTextBox" runat="server" 
                        Text='<%# Bind("karshenas") %>' /></td>
                <td></td>
                </tr>
                 <tr>
                <td>    <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                        Text="به روز رسانی" /></td>
                <td><asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                        Text="لغو ویرایش" /></td>
                <td></td>
                </tr>
             </table>
                </td>
            </EditItemTemplate>
            <EmptyDataTemplate>
                <table runat="server" style="">
                    <tr>
                        <td>
                            اطلاعاتی برای نمایش موجود نیست.</td>
                    </tr>
                </table>
            </EmptyDataTemplate>
            <EmptyItemTemplate>
                <td runat="server" />
            </EmptyItemTemplate>
            <GroupTemplate>
                <tr ID="itemPlaceholderContainer" runat="server">
                    <td ID="itemPlaceholder" runat="server">
                    </td>
                </tr>
            </GroupTemplate>
            <InsertItemTemplate>
                <td runat="server" style="">
                    شخص : 
                    <asp:TextBox CssClass="Test" ID="shakhsTextBox" runat="server" Text='<%# Bind("shakhs") %>' />
                    <br />
                    نام و نام خانوادگی : 
                    <asp:TextBox CssClass="Test" ID="namTextBox" runat="server" Text='<%# Bind("nam") %>' />
                    <br />
                    شماره قرارداد :  
                    <asp:TextBox CssClass="Test" ID="IdgharardadTextBox" runat="server" 
                        Text='<%# Bind("Idgharardad") %>' />
                    <br />
                    شرح درخواست : 
                    <asp:TextBox CssClass="Test" ID="elatTextBox" runat="server" Text='<%# Bind("elat") %>' />
                    <br />
                    شماره موبایل : 
                    <asp:TextBox CssClass="Test" ID="hamrahTextBox" runat="server" Text='<%# Bind("hamrah") %>' />
                    <br />
                    شماره تلفن ثابت : 
                    <asp:TextBox CssClass="Test" ID="sabetTextBox" runat="server" Text='<%# Bind("sabet") %>' />
                    <br />
                    وضعیت پیگیری : 
                    <asp:TextBox CssClass="Test" ID="vaziatTextBox" runat="server" Text='<%# Bind("vaziat") %>' />
                    <br />
                    کارشناس (های) اعزامی : 
                    <asp:TextBox CssClass="Test" ID="karshenasTextBox" runat="server" 
                        Text='<%# Bind("karshenas") %>' />
                    <br />
                    تاریخ ثبت درخواست : 
                    <asp:TextBox CssClass="Test" ID="tarikhTextBox" runat="server" Text='<%# Bind("tarikh") %>' />
                    <br />
                    <asp:Button CssClass="Test" ID="InsertButton" runat="server" CommandName="Insert" 
                        Text="ثبت درخواست" />
                    <br />
                    <asp:Button CssClass="Test" ID="CancelButton" runat="server" CommandName="Cancel" 
                        Text="پاک کردن فرم" />
                    <br />
                </td>
            </InsertItemTemplate>
            <ItemTemplate>
                <td runat="server" style="">
                    شناسه درخواست : 
                    <asp:Label CssClass="Test" ID="DarkhastIdLabel" runat="server" 
                        Text='<%# Eval("DarkhastId") %>' />
                    <br />
                    شخص : 
                    <asp:Label CssClass="Test" ID="shakhsLabel" runat="server" Text='<%# Eval("shakhs") %>' />
                    <br />
                    نام و نام خانوادگی : 
                    <asp:Label CssClass="Test" ID="namLabel" runat="server" Text='<%# Eval("nam") %>' />
                    <br />
                    شماره قرارداد : 
                    <asp:Label CssClass="Test" ID="IdgharardadLabel" runat="server" 
                        Text='<%# Eval("Idgharardad") %>' />
                    <br />
                    شرح درخواست : 
                    <asp:Label CssClass="Test" ID="elatLabel" runat="server" Text='<%# Eval("elat") %>' />
                    <br />
                    شماره موبایل : 
                    <asp:Label CssClass="Test" ID="hamrahLabel" runat="server" Text='<%# Eval("hamrah") %>' />
                    <br />
                    شماره تلفن ثابت : 
                    <asp:Label CssClass="Test" ID="sabetLabel" runat="server" Text='<%# Eval("sabet") %>' />
                    <br />
                    وضعیت پیگیری : 
                    <asp:Label CssClass="Test" ID="vaziatLabel" runat="server" Text='<%# Eval("vaziat") %>' />
                    <br />
                    کارشناس (های) اعزامی : 
                    <asp:Label CssClass="Test" ID="karshenasLabel" runat="server" Text='<%# Eval("karshenas") %>' />
                    <br />
                    تاریخ ثبت درخواست : 
                    <asp:Label CssClass="Test" ID="tarikhLabel" runat="server" Text='<%# Eval("tarikh") %>' />
                    <br />
                    <asp:Button CssClass="Test" ID="DeleteButton" runat="server" CommandName="Delete" 
                        Text="حذف درخواست" />
                    <br />
                    <asp:Button CssClass="Test" ID="EditButton" runat="server" CommandName="Edit" Text="ویرایش درخواست" />
                    <br />
                </td>
            </ItemTemplate>
            <LayoutTemplate>
                <table runat="server" class="testa" style=" ">
                    <tr runat="server" style="">
                        <td runat="server" >
                            <table ID="groupPlaceholderContainer" runat="server" border="0" >
                                <tr ID="groupPlaceholder" runat="server">
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr runat="server">
                        <td runat="server" style="">
                            <asp:DataPager ID="DataPager1" runat="server" PageSize="12">
                                <Fields>
                                    <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                                        ShowLastPageButton="True" />
                                </Fields>
                            </asp:DataPager>
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
            <SelectedItemTemplate>
                <td runat="server" style="">
                    شناسه درخواست : 
                    <asp:Label CssClass="Test" ID="DarkhastIdLabel" runat="server" 
                        Text='<%# Eval("DarkhastId") %>' />
                    <br />
                    شخص : 
                    <asp:Label CssClass="Test" ID="shakhsLabel" runat="server" Text='<%# Eval("shakhs") %>' />
                    <br />
                    نام و نام خانوادکی : 
                    <asp:Label CssClass="Test" ID="namLabel" runat="server" Text='<%# Eval("nam") %>' />
                    <br />
                    شماره قرارداد : 
                    <asp:Label CssClass="Test" ID="IdgharardadLabel" runat="server" 
                        Text='<%# Eval("Idgharardad") %>' />
                    <br />
                    شرح درخواست : 
                    <asp:Label CssClass="Test" ID="elatLabel" runat="server" Text='<%# Eval("elat") %>' />
                    <br />
                    شماره موبایل : 
                    <asp:Label CssClass="Test" ID="hamrahLabel" runat="server" Text='<%# Eval("hamrah") %>' />
                    <br />
                    شماره تلفن ثابت : 
                    <asp:Label CssClass="Test" ID="sabetLabel" runat="server" Text='<%# Eval("sabet") %>' />
                    <br />
                    وضعیت پیگیری : 
                    <asp:Label CssClass="Test" ID="vaziatLabel" runat="server" Text='<%# Eval("vaziat") %>' />
                    <br />
                    کارشناس (های) اعزامی : 
                    <asp:Label CssClass="Test" ID="karshenasLabel" runat="server" Text='<%# Eval("karshenas") %>' />
                    <br />
                    تاریخ ثبت درخواست : 
                    <asp:Label CssClass="Test" ID="tarikhLabel" runat="server" Text='<%# Eval("tarikh") %>' />
                    <br />
                    <asp:Button CssClass="Test" ID="DeleteButton" runat="server" CommandName="Delete" 
                        Text="حذف درخواست" />
                    <br />
                    <asp:Button CssClass="Test" ID="EditButton" runat="server" CommandName="Edit" Text="ویرایش درخواست" />
                    <br />
                </td>
            </SelectedItemTemplate>
        </asp:ListView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:akhbarrrConnectionString %>" 
            DeleteCommand="DELETE FROM [darkhastezam] WHERE [DarkhastId] = @DarkhastId" 
            InsertCommand="INSERT INTO [darkhastezam] ([shakhs], [nam], [Idgharardad], [elat], [hamrah], [sabet], [vaziat], [karshenas], [tarikh]) VALUES (@shakhs, @nam, @Idgharardad, @elat, @hamrah, @sabet, @vaziat, @karshenas, @tarikh)" 
            SelectCommand="SELECT * FROM [darkhastezam]" 
            UpdateCommand="UPDATE [darkhastezam] SET [shakhs] = @shakhs, [nam] = @nam, [Idgharardad] = @Idgharardad, [elat] = @elat, [hamrah] = @hamrah, [sabet] = @sabet, [vaziat] = @vaziat, [karshenas] = @karshenas, [tarikh] = @tarikh WHERE [DarkhastId] = @DarkhastId">
            <DeleteParameters>
                <asp:Parameter Name="DarkhastId" Type="Decimal" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="shakhs" Type="String" />
                <asp:Parameter Name="nam" Type="String" />
                <asp:Parameter Name="Idgharardad" Type="Decimal" />
                <asp:Parameter Name="elat" Type="String" />
                <asp:Parameter Name="hamrah" Type="String" />
                <asp:Parameter Name="sabet" Type="String" />
                <asp:Parameter Name="vaziat" Type="String" />
                <asp:Parameter Name="karshenas" Type="String" />
                <asp:Parameter Name="tarikh" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="shakhs" Type="String" />
                <asp:Parameter Name="nam" Type="String" />
                <asp:Parameter Name="Idgharardad" Type="Decimal" />
                <asp:Parameter Name="elat" Type="String" />
                <asp:Parameter Name="hamrah" Type="String" />
                <asp:Parameter Name="sabet" Type="String" />
                <asp:Parameter Name="vaziat" Type="String" />
                <asp:Parameter Name="karshenas" Type="String" />
                <asp:Parameter Name="tarikh" Type="String" />
                <asp:Parameter Name="DarkhastId" Type="Decimal" />
            </UpdateParameters>
        </asp:SqlDataSource>
    </div>

查询字符串和响应重定向问题

你做对了,只需在showprofile的页面加载中获取它.aspx如下所示:

 protected void Page_Load(object sender, EventArgs e)
    {
    string v = Request.QueryString["DarkhastId"];
    if (v != null)
    {
        Response.Write("param is ");
        Response.Write(v);
    }
    }
}

*更新: *

您需要从 ListView 键访问DarkhastId,如下所示ListView1_ItemUpdated事件:

protected void ListView1_ItemUpdated(object sender, ListViewUpdatedEventArgs e)
{
    if ((sender as ListView) != null)
        {
            int id = Convert.ToInt32(ListView1.DataKeys[Index]["DarkhastId"]); 
            string url="showprofile.aspx?DarkhastId="+id

             Response.Redirect(url);

        }
}

以下是参考答案:

http://forums.asp.net/t/1412741.aspx?Get+the+key+value+of+an+updated+ListView+item+in+the+ItemUpdated+event

您可以在此处查看示例:

http://asp-net-example.blogspot.com/2009/01/aspnet-querystring-example-how-to-use.html