У меня есть приложение MVC3, которое использует сетку Telerik. У меня есть следующее действие:Действие MVC не вызывается из сетки
public ActionResult FileDownload(string id)
На моей сетке у меня есть ClientTemplate, который отображает маленькую коробку. когда пользователь нажимает на поле, я хочу, чтобы действие было вызвано. Heres мой сетки (только одна линия его для краткости):
columns.Bound(c => c.DocID).ClientTemplate("<div><a href=\"javascript:void(0);\"
class=\"link-button-small\" onclick=\"javascript:downloadFile(<#= DocID #>)\">...</a>
</div>");
Это мой JavaScript:
function downloadFile(docId) {
var url = "@(Url.Content("~/OrderDetails/FileDownload/"))" + docId;
$('#downloadFrame').attr('src',url); //dumping some data to an iFrame
}
Код JavaScript функция называется просто отлично, но мое действие никогда не выполняется. Я могу вызвать свое действие, используя другие методы, такие как использование ClientEvents в сетке Telerik, поэтому мое действие прекрасное. Кто-нибудь знает, почему мое действие не вызвано при использовании шаблона клиента? Благодаря
Как выглядит отображаемый HTML для столбца? –
ОК. Следующий вопрос: каково значение 'url' в вашей js-функции? Если это неверно, вы можете использовать 'Url.Action (« ... action ... »,« ... controller ... »)' вместо этого. –