在此response.redirect之后生成的URL字符串让我们头疼.它正在用url percent编码字符替换字符并添加额外的文件目录.
Response.Redirect("TestingReport.aspx?id=" + Request.QueryString("id") + "&Test_Type_ID=" + Request.QueryString("Test_Type_ID") + "&TType=" + Request.QueryString("TType"))
Run Code Online (Sandbox Code Playgroud)
为什么会改变?和=百分比代码?我不明白为什么它会两次附加用户门户/测试.
谢谢
用这个失去理智.即使命令设置已设置,我的按钮也会获得空字符串的命令参数.我已经验证它在调试模式下被设置为正确的ID,但是当我稍后在转发器ItemCommand事件中访问此命令参数时,commandarguments是空字符串.我不明白为什么.我最终得到一个sq外键异常,因为它从空字符串值插入ID为0.关于将重置它的转发器按钮没有其他代码.
中继器:
<asp:Repeater ID="repeaterAddresses" ViewStateMode="Enabled" DataSourceID="sqlFacilityAddresses" runat="server">
<ItemTemplate>
<Select:Address ID="AddressControl" runat="server" />
<asp:Button ID="btnMarkAsBilling" runat="server" EnableViewState="true" CommandName="Billing" Text="Mark as billing address" />
<asp:button ID="btnMarkAsPhysical" runat="server" EnableViewState="true" CommandName="Physical" Text="Mark as physical address" />
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
代码背后:
Protected Sub repeaterAddresses_ItemCreated(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles repeaterAddresses.ItemCreated
If Not IsNothing(DirectCast(e.Item.DataItem, DataRowView)) Then
If (e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim addressControl As Address = DirectCast(e.Item.FindControl("AddressControl"), Address)
addressControl.AddressID = CInt(DirectCast(e.Item.DataItem, DataRowView)("Address_ID").ToString())
Dim btnBilling As Button = DirectCast(e.Item.FindControl("btnMarkAsBilling"), Button)
btnBilling.CommandArgument …Run Code Online (Sandbox Code Playgroud)