ASP.NET MVC错误:以下方法或属性之间的调用不明确

时间:2011-11-23 15:45:45

标签: asp.net-mvc-3 shopping-cart hidden ambiguity ambiguous-call

我有问题。 在我的产品视图中,我有一个按钮可以将其添加到购物车中,如下所示:

<div>
<% using(Html.BeginForm("AddToCart", "Cart")) {%>
    <%: Html.HiddenFor(x => x.id_produktu) %>
    <%: Html.Hidden("returnUrl", Request.Url.PathAndQuery) %>
    <input type="submit" value="Dodaj do koszyka" />
    <% } %>
    <h4><%: Model.cena_produktu.ToString("c")%></h4>

对于这一行:

<%: Html.Hidden("returnUrl", Request.Url.PathAndQuery) %>

我收到错误:

以下方法或属性之间的调用不明确:'System.Web.Mvc.TextInputExtensions.Hidden(System.Web.Mvc.HtmlHelper,string,object)'和'System.Web.Mvc.Html .InputExtensions.Hidden(System.Web.Mvc.HtmlHelper,string,object)'

如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:2)

三种方式:

  1. 完全符合方法:

    System.Web.Mvc.Html.Hidden(Html, "returnUrl", Request.Url.PathAndQuery)
    
  2. 创建自己的静态方法,使用不同的名称来混淆名称。

    public static string TheHiddenIWant(this HtmlHelper helper, string name, object value)
    {
        return System.Web.Mvc.Html.Hidden(helper, name, value);
    }
    Html.TheHiddenIWant("returnUrl", Request.Url.PathAndQuery);
    
  3. 不要为您不想要的扩展方法包含reference或using语句。对于 例如,摆脱using System.Web.Mvc.TextInputExtensions,或者只是摆脱参考。