一直在为此苦苦挣扎。尝试了我能想到的一切。我使用 javascript 将数据传递给 db,在另一个页面上使用 ints 可以正常工作,但现在使用字符串它不会工作:s
@using (Html.BeginForm(null, null, FormMethod.Post, new{@id="manageForm"}))
{
@Html.AntiForgeryToken()
<span class="actions">
@T(User.Id.ToString()) @T(" ") @T(ViewData["Tag"].ToString())
<input type="hidden" name="tag" value="fr" />
<input type="hidden" name="id" value="3" />
<a href="#"class="bttn green large" onclick="return following.();">@T("Follow")</a>
</span>
}
Javascript
<script type="text/javascript">
function followTag() {
$('#manageForm').attr('action', '@(Url.Action("FollowTag"))').submit();
return false;
}
</script>
控制器
[RequireAuthorization]
[HttpPost]
public ActionResult FollowTag(int id, string tag)
{
_service.FollowTag(id, tag);
return RedirectToAction("TagPage","Detail", new
{
});
}
数据访问
public void FollowTag(int id, string tag)
{
DbCommand comm = GetCommand("SPTagFollow");
//user id
comm.AddParameter<int>(this.Factory, "id", id);
//id to follow
comm.AddParameter<string>(this.Factory, "tag", tag);
comm.SafeExecuteNonQuery();
}
路线设置良好,sql(存储过程)执行完美。希望你们中的一个人能看到一些明显的东西
干杯