0

私は問題があります。製品のビューには、次のようなカートに追加するボタンがあります。

<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、文字列、オブジェクト)'

これを解決するには?前もって感謝します。

4

1 に答える 1

4

3つの方法:

  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ステートメントを含めないでください。たとえば、を削除するusing System.Web.Mvc.TextInputExtensionsか、単に参照を削除します。

于 2011-11-23T16:10:27.870 に答える