基本上,我不想使用<input type="submit">
主要是因为它是一个按钮,我宁愿使用ActionLink,所以我使用Ajax.ActionLink,我不知道在routeValues中放置什么它的理由是拾取新的(编辑过的)数据(用户输入评论等)并将其发送给我的行动。你们任何人都知道吗?感谢。
这就是我所拥有的,但当然,它会在用户编辑回服务器/动作之前发送原始注释:)
<%= Ajax.ActionLink("Update", "UpdateComment", Model.Comment,
New AjaxOptions With
{.UpdateTargetId = Model.CommentDivId, .HttpMethod = "Post"})%>
ps:我知道如何在javascript中执行此操作,并执行ajax帖子等,希望找到和mvc只有解决方案
答案 0 :(得分:2)
基本上,你不能在ActionLink和MVC中独自完成这项工作,你需要使用JavaScript来实现你的目标!如果您想使用JavaScript,可以选择上面的示例!
我确实希望有一个HTML帮助器,所以我们不需要使用凌乱的jquery mashup来访问实时表单数据,但是没有,也许有人可以创建帮助程序并与我们共享它?
答案 1 :(得分:1)
我建议你仍然用表单包装注释字段并使用锚点和一些javascript提交字段。生成的html看起来像......
<form id="the_form">
<textarea id="comment"></textarea>
<a href="javascript:{}" onclick="document.getElementById('the_form').submit(); return false;">submit</a>
</form>
您可以使用MVC中的HtmlHelper或其他一些ViewEngine代码轻松替换它,但重点是提交带有链接(锚标记)的表单,参数将映射到操作方法。
希望有所帮助,
涡流
PS。您也可以使用Ajax.BeginForm来实现相同的目标。
答案 2 :(得分:0)
如果它只是您担心的按钮,那么为什么不应用一点css来将按钮更改为链接?没有人会知道差异,你会省去一些工作。
如果这不是你想要的,请告诉我,我可以删除这个答案。
至于Ajax,我不确定你的模型是否会更新,因为它应该超出范围。我认为这样做的方法是将所有数据作为变量传递。真的不是一个理想的解决方案。
我会在这个上使用css方法。
修改强>
<head>
<style>
.buttonAsLink{ background-color:white; border:0; color:Blue; text-decoration:underline;}
.buttonAsLink:hover{ text-decoration:none;}
</style>
</head>
<body>
<input class="buttonAsLink" type=submit value="Click Me" />
</body>
答案 3 :(得分:0)