Если у меня есть ниже PartialView
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Models.Photo>" %>
<% using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { enctype = "multipart/form-data" })) { %>
<%= Html.EditorFor( c => c.Caption ) %>
<div class="editField">
<label for="file" class="label">Select photo:</label>
<input type="file" id="file" name="file" class="field" style="width:300px;"/>
</div>
<input type="submit" value="Add photo"/>
<%} %>
Как видите, действие и контроллер жестко закодированы. Есть ли способ сделать их динамическими?
Моя цель состоит в том, чтобы сделать это частичное представление достаточно общим, чтобы я мог использовать его во многих местах и передать его действию и контроллеру, в которых он находится.
Я знаю, что могу использовать ViewData, но на самом деле не хочу, а также с передачей VormViewModel в представление и использованием свойств модели.
Есть ли более приятный способ, чем два, которые я перечислил выше?