Внутри частичного представления asp.net mvc у меня есть форма Ajax, которая отправляет значение и заменяет содержимое его родительского контейнера другим экземпляром формы.
Index.aspx view:
<div id="tags">
<% Html.RenderPartial("Tags", Model); %>
</div>
Tags.ascx частичное представление:
<% using(Ajax.BeginForm("tag", new AjaxOptions { UpdateTargetId = "tags" }))
{ %>
Add tag: <%= Html.TextBox("tagName")%>
<input type="submit" value="Add" />
<% } %>
Контроллер:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Tag(string tagName) {
// do stuff
return PartialView("Tags", ...);
}
Проблема в том, что когда возвращается новый экземпляр формы, опубликованное значение уже сохраняется в поле ввода. То есть все, что я написал как tagName, останется в текстовом поле. Firebug показывает, что значение жестко закодировано в ответе.
Есть ли способ очистить значение входного текстового поля при возврате частичного представления?
Я пробовал:
<%= Html.TextBox("tagName", string.Empty)%>
и
<%= Html.TextBox("tagName", string.Empty, new { value = "" })%>`
ни один из которых ничего не делает.
EDIT:
Я понимаю, что есть решения js, которые мне, возможно, придется использовать, но мне было интересно, есть ли какие-нибудь способы сделать это в бэкэнде?