您好我在弄清楚如何将额外的值传递给我的Controller的删除方法时遇到了一些麻烦。
我有一个带有删除按钮的表单(自动生成的MVC)。
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-sm btn-danger" />
<button onclick="location.href='@Url.Action("Index", "Admin")';return false;" class="btn btn-sm btn-primary" style="font-size:10px">Admin</button>
</div>
}
但我想发送一个额外的值,这个值将是getCookie("username");
我尝试过另一个输入并调用它。
<input type="text" name="userid" value="getCookie('username')" />
问题是这总是显示&#34; null&#34;在我的Controller方法中。
方法是
// GET: /Admin/Delete/5
public ActionResult Delete(int? id, string userid)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
User user = db.Users.Find(id);
if (user == null)
{
return HttpNotFound();
}
return View(user);
}
和
// POST: /Admin/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id, string userid)
{
User user = db.Users.Find(id);
db.Users.Remove(user);
db.SaveChanges();
var time = new DateTime();
string text = time + ": User " + user.name + " was deleted.";
System.IO.File.AppendAllText(pathway, text + Environment.NewLine);
return RedirectToAction("Index");
}
我想要的是将getCookie('username');
的值传递给方法userID
。
任何帮助表示赞赏!
答案 0 :(得分:1)
你想要做的是让getcookie()设置userId的值(使用jQuery或其他),而不是返回它。您需要在页面加载时调用此方法。这会将值放在DOM /表单中,因此它会发布到您的控制器操作。
那就是说,您是否只能从Request对象中访问动作中的cookie?