У меня возникли проблемы со страницей и кодом, над которым я работаю. см код:Введите строку в правильном формате. VB.net - Новое для этого, поэтому нужна помощь
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim dtTable As DataTable = Nothing
Dim intConnectionId As Integer = 0
If Page.IsPostBack Then
' Get user data from session
With HttpContext.Current
intConnectionId = CInt(result.Value)
End With
End If
' Remove connection
modConnections.Delete(intConnectionId)
' Clear desks attahced to connection
modDeskText.ClearUserDesk(intConnectionId)
Using sqlCommand As New SqlCommand
With sqlCommand
.CommandText = "usp_connectsdetailedlist"
.CommandType = CommandType.StoredProcedure
End With
Execute(sqlCommand, dtTable)
End Using
With Rep1
.DataSource = dtTable.DefaultView
.DataBind()
End With
If Not IsNothing(dtTable) Then
dtTable.Dispose()
End If
End Sub
[FormatException: Input string was not in a correct format.]
Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) +213
Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value) +90
[InvalidCastException: Conversion from string "" to type 'Integer' is not valid.]
Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value) +238
frmConnects2.Page_Load(Object sender, EventArgs e) in D:\Source Code\PTS\PTS Online .NET - Copy\PTS Online .NET\PTS Online .NET stu\frmConnects2.aspx.vb:17
System.Web.UI.Control.OnLoad(EventArgs e) +95
System.Web.UI.Control.LoadRecursive() +59
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678
На линии:
intConnectionId = CInt(result.Value)
Я получаю вышеуказанную ошибку. Независимо от того, что я делаю, я не могу получить данные для преобразования в формат, который мне нужен. Теперь я понимаю, что это не имеет никакого отношения к правильному коду.
Моя цель - получить данные из таблицы, поместить их в текстовое поле (<input type="text" id="result" runat="server" />
) id = "result", а затем использовать «id» записи, выбранной в SQL, чтобы удалить соединение. смотри таблицу ниже:
<ItemTemplate>
<tr class="<%# ReturnValuesAsColor(Eval("online"), Eval("mobile"), Eval("server_proc"))%>">
<td><%# Eval("id").ToString%></td>
<td><%# Eval("user_id").ToString%></td>
<td><%# Eval("user_name").ToString%></td>
<td><%# Eval("workstation_name").ToString%></td>
<td><%# Eval("ip_address").ToString%></td>
<td><%# Eval("connect_date").ToString%></td>
<td><%# Eval("refresh_date").ToString%></td>
<td><%# Eval("app_ver").ToString%></td>
<td><%# Eval("app_date").ToString%></td>
<td><%# CBool(Eval("get_messages_flag")).ToString%></td>
<td><%# FixNumbers(Eval("message_type_flags"))%></td>
<td><%# Eval("online").ToString%></td>
<td><%# Eval("mobile").ToString%></td>
<td><%# Eval("group_name").ToString%></td>
<td><%# Eval("server_proc").ToString%></td>
<td><input type="submit" class="ui-button ui-widget ui-state-default ui-corner-all" value="delete connection" onclick="clearText(result); CopyId(<%# Eval("id").ToString%>);" /></td>
</tr>
</ItemTemplate>
JS используются:
<script>
function CopyId(num) {
var txt = document.getElementById("<%= result.ClientID%>").value;
txt = num;
document.getElementById("<%= result.ClientID%>").value = txt;
}
</script>
Извините, если я пропустил что-нибудь или есть недостаток информации. Любая помощь очень ценится.
Вопрос довольно ясен: 'result.Value' не является Integer. Где это заполняется? –
оригинал поставляется с sql-сервером длиной 6 цифр, это столбец «id» в таблице, если я правильно понимаю ваш вопрос. Я вижу, что result.value не является целым числом, но я не могу скрыть его до одного. – BarryWhite
Извините, вопрос не был идеальным, но почему downvote? Понятно, что я был новым, читал вопросы о правилах по почте и делал все, чтобы все было. Пожалуйста, объясните, что такое downer? – BarryWhite