【发布时间】:2018-01-01 20:55:05
【问题描述】:
故事是这样的:
我正在制作一个评论系统,当用户想要添加评论时,他们需要将数据放在文本区域中。我想获取用户输入的值并创建一个@Ajax 链接,将其作为参数发送到控制器。
我正在使用 ASP.NET MVC5,在我的 View() 中我有以下内容:
<textarea class="textArea" rows="3"></textarea>
<br />
@Ajax.ActionLink("Send",
"AddComment",
new { parametar = 0 , Contents = GetText() },
new AjaxOptions
{
UpdateTargetId = "beforeThis",
InsertionMode = InsertionMode.InsertBefore,
HttpMethod = "GET"
},
new { @class = "postavi btn btn-primary" })
我尝试在下面插入以下内容:
<script type="text/javascript">
function GetText() {
return "hello there!";
}
</script>
我说错了:
名称GetText在当前上下文中不存在 (这是在@Ajax.ActionLink 的参数中)
似乎我无法集成 javascript(它可以为我获取此值和剃须刀代码)我该如何解决? PS> 我已经四处寻找这个,要么是更早版本的 MVC 的答案,要么在我尝试相同的时候答案没有奏效。
【问题讨论】:
-
您的操作链接是 GET 并且您永远不应该使用 GET 来修改数据 - 它必须是 POST,更不用说如果输入的文本很大,您将超过查询字符串限制并抛出异常。使用表单并将值提交给 POST 方法。
标签: ajax asp.net-mvc asp.net-mvc-5