ASP.NET MVC ошибка: вызов неоднозначен между следующими методами или свойствами - PullRequest
0 голосов
/ 23 ноября 2011

У меня проблема.В моем представлении о товаре у меня есть кнопка, чтобы добавить его в корзину, которая выглядит следующим образом:

<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 Ответ

2 голосов
/ 23 ноября 2011

Три способа:

  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. Не включайте ссылку или использование оператора для нежелательного метода расширения. За Например, избавьтесь от using System.Web.Mvc.TextInputExtensions или просто избавьтесь от ссылки.

...