ASPX + Vb.Vet简单的浏览器计算表单

时间:2015-06-12 09:19:49

标签: asp.net vb.net

我绝对肯定我因为尝试从不同的样本一起破解而错误地混合了两种语法。我对ASPX和VB.Net都不熟悉,并且陷入了第一道障碍。

目的是让用户输入一串数字(从纪元时间的lastlogontimestamp开始)并将其格式化为本地日期/时间。

它在IIS 7中的第4行失败 - CS1026: ) expected

<%@ Page Language="VB" %>

<script runat="server">
Sub submit(sender As Object, e As EventArgs)
    long value = (long)txt1.text
    DateTime pwdLastSet = (DateTime.FromFileTimeUtc(value)).ToLocalTime
    lbl1.Text="Converted date: " & pwdLastSet
End Sub
</script>

<html>
<head></head>
<body>
<form runat="server">
Enter the date string:
<asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>
</body>
</html>

更新 感谢大家的评论。我绝对不是程序员。我确实使用了评论中建议的C#解决方案作为练习,稍作修正。但是,我对VB稍微熟悉一点,所以我应该坚持下去 - 接受的答案对我来说更直观。

<script runat="server">
void submit(Object sender, EventArgs e) {
    long value = Convert.ToInt64(txt1.Text);
    DateTime conValue = (DateTime.FromFileTimeUtc(value)).ToLocalTime();
    lbl1.Text = "Converted date: " + conValue;
}
</script>

2 个答案:

答案 0 :(得分:2)

由于页面级语言被定义为C#,因此编译器将尝试将代码编译为C#,因此出现预期的异常。因此,更改语言可以解决异常

 <%@ Page Language="VB" %>

现在实际的Vb代码也是错误的。正如 variables casting 的写法一样,它不是VB中的方式。

 <script runat="server" >
    Sub submit(sender As Object, e As EventArgs)
            Dim value = txt1.Text
            Dim pwdLastSet = (DateTime.FromFileTimeUtc(value)).ToLocalTime
        lbl1.Text="Converted date: " & pwdLastSet
    End Sub
    </script>

因此,我建议您使用C#或VB继续学习语言,并相应地进行更改。

答案 1 :(得分:1)

正如其他人所指出的那样,你已经在VB和C#之间发布了一个奇怪的混合体。我对C#不太熟悉,但这应该更像它。

var divtag = $('maindiv');