Frage

Ich habe eine form, die Teil einer Teilansicht und ich müssen Einreichen einen anderen Speicherort, basierend auf dem Kontext der Ansicht, das das Formular enthält.Ich kann kein Html.BeginForm, weil die form hat eine multipart/form-data enctype so dass die Aktion automatisch ausgefüllt ist aus der Tür.

Gibt es eine einfache variable, die ich anrufen kann, um füllen in der aktuellen controller/Aktion, wie meine form action?Ich sehe, dass ViewContext.RouteData.Values["action"], ViewContext.RouteData.Values["controller"] zurück, die diese Werte, aber gibt es eine bessere accessor?

Vielen Dank!

War es hilfreich?

Lösung

Der Weg HtmlHelper.BeginForm() füllt die Aktion und controller automatisch ist mit Request.RawUrl.So könnten Sie einfach schreiben:

<form action="<%= Request.RawUrl %>" method="post" enctype="multipart/form-data">
    ....
</form>

Andere Tipps

Dies ist, was ich Tat

erste volle Ansicht:

 <% using (Html.BeginForm("Edit", "Admin",FormMethod.Post, 
              new { enctype = "multipart/form-data" })){%>
            <% Html.RenderPartial("MerchandiseEditDetail", Model); %>
   <%}%>>

zweite Ansicht:

 <% using (Html.BeginForm("Create", "Admin",FormMethod.Post, 
       new { enctype = "multipart/form-data" })){%>
    <% Html.RenderPartial("MerchandiseEditDetail", Model); %>
<%}%>

Ich bin noch auf der Suche nach einer besseren Lösung, aber diese teilweise mein problem zu lösen für jetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top