您好,我在弄清楚如何将附加值传递给 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')" />
问题是,这在我的 Controller 方法中总是显示“null”。
方法是
// 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
传递给方法。
感谢任何帮助!
最佳答案
您想要做的是让 getcookie() 设置 userId 的值(使用 jQuery 或其他方式)而不是返回它。您需要在页面加载时调用它。这会将值放入 DOM/表单中,以便它发布到您的 Controller 操作。
也就是说,您不能直接从 Request 对象访问操作中的 cookie 吗?
关于javascript - 将附加值传递给 Controller 方法 - Razor/MVC 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24781963/