【问题标题】:ASP.NET MVC strongly typed view convert from C# to VB.NETASP.NET MVC 强类型视图从 C# 转换为 VB.NET
【发布时间】:2010-12-21 05:32:40
【问题描述】:

我开始学习 ASP.NET MVC,因为我在 VB.NET 商店工作,所以我正在从 C# 转换一个示例。我正在尝试实现一个强类型视图,我正在查看的示例显示以下内容:

<tr>
  <td>Name:</td>
  <td><%=Html.TextBox(x => x.Name)%></td>
</tr>

我在 VB.NET 中提出了以下内容:

<tr>
  <td>Name:</td>
  <td><%=Html.TextBox((Function(x As Contact) x.Name).ToString)%></td>
</tr>

这种转换正确吗?这看起来真的很麻烦(我知道,我知道,VB.NET 比 C# 更麻烦,但我在这件事上别无选择)。如果正确,是不是最好的方法?

【问题讨论】:

  • 只是一个后续:在我下面的示例中有很多勘误表。我认为问题在于该示例使用了 ASP.NET 未来的程序集(来自 aspnet.codeplex.com 的 Microsoft.Web.Mvc.dll),正确的语法是 &lt;%=Html.TextBoxFor(x =&gt; x.Name)%&gt;

标签: c# asp.net-mvc vb.net html-helper strong-typing


【解决方案1】:

为什么打电话给ToString?确切的转换是这个:

<tr>
  <td>Name:</td>
  <td><%=Html.TextBox(Function(x) x.Name)%></td>
</tr>

您可能在其他地方有 HtmlHelper 的扩展方法,因为 TextBox 没有内置重载,它以 Func&lt;Contact, string&gt; 作为参数...所以您也需要转换该方法

【讨论】:

  • 我转换为字符串是因为当我没有 VS2008 时抱怨“Lambda 表达式无法转换为字符串,因为字符串不是委托类型”。正如你所说,我一定是错过了什么,所以我必须重新审视。
【解决方案2】:

我认为(x As Contact).Name 就足够了,尽管我已经有一段时间没有在 VB.NET 上尝试过了...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    相关资源
    最近更新 更多