#asp.net #vb.net #vbscript
#asp.net #vb.net #vbscript
Вопрос:
Я пытаюсь передать значения внутри повторителя, привязывающего их к кнопке, и передать их из этой формы в другую форму. Когда я компилирую это, это выдает мне ошибку, указывающую
System.FormatException: Input string was not in a correct format.
Кнопка в коде повторителя в form1.aspx:
<asp:Button ID="Button1" runat="server" Text="" CommandName= "TEST" CommandArgument = '<%# Eval("Parking_ID") "," Eval("Parking_Name") %>' />
в form1.aspx.vb Функция Repeater_ItemCommand:
Protected Sub repeater1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles repeater1.ItemCommand
If (e.CommandName = "TEST") Then
Dim commandArgsAccept As String() = e.CommandArgument.ToString().Split(New Char() {","c})
Dim value As Int32 = commandArgsAccept(0).ToString
Dim value1 As String = commandArgsAccept(1).ToString
Response.Redirect("Default2.aspx?Parking_ID=" amp; value, True)
Response.Redirect("Default2.aspx?Parking_Name=" amp; value1, True)
Session("field4") = value
Session("field6") = value1
End If
End Sub
Есть ли решение этой проблемы?
С уважением.
Комментарии:
1. Хорошо, я даю ту же идею в предыдущем ответе, но я предполагал, что вам нужно только поле Parking_name.
2. @ Muhammad Akhtar тебе нужно 23, чтобы получить волшебные 10000. желаю удачи…
Ответ №1:
<asp:Button ID="Button1" runat="server" Text="" CommandName= "TEST" CommandArgument = '<%# Eval("Parking_ID").ToString() "," Eval("Parking_Name").ToString() %>'/>
Protected Sub repeater1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles repeater1.ItemCommand
If (e.CommandName = "TEST") Then
Dim commandArgsAccept As String() = e.CommandArgument.ToString().Split(",")
Dim value As Int32 = commandArgsAccept(0).ToString
Dim value1 As String = commandArgsAccept(1).ToString
Session("field4") = value
Session("field6") = value1
Response.Redirect("Default2.aspx?Parking_ID=" amp; value amp; "amp;Parking_Name=" amp; value1, True)
End If
Комментарии:
1. В этой
.ToString()
частиEval()
нет необходимости.2. @Govind Камалапракаш Мальвия:
Parking_ID
передается, ноParking_Name
не передается.3. Верно, но в этом
ToString()
случае он вызывается неявно.4. @Humam Shbib: ты извлекаешь его из сеанса?
5.@Govind Камалапракаш Мальвия: ДА в form2.aspx.vb
Dim field4 As String = Request.QueryString("Parking_ID")
Dim field6 As String = Request.QueryString("Parking_Name")
Ответ №2:
Поместите имя ключевого поля базы данных в общедоступную переменную, чтобы у вас не было синтаксической ошибки
public string registerKey = "myId";
protected void btnCancel_Command (object sender, CommandEventArgs e)
{
// With the CommandEventArgs you get the parameters sent
UpdatePanel2.Update ();
}
<asp: Button ID = "btnCancel" Text = "Cancel" CommandName = "CancelDeposit" OnCommand = "btnCancel_Command" runat = "server" CommandArgument = '<% # DataBinder.GetPropertyValue (Container.DataItem, registerKey)%> ">