Html.BeginForm 不会保留 Guid 集
Html.BeginForm Wont Keep Guid Set
我需要这方面的帮助。我已将代码全部设置为允许用户输入文本标题和文本 body,然后在数据库中为该条目留出一个 guid。
问题是 guid 发生变化,文本输入框变为空白,每次按下提交按钮时都需要保持不变。我的想法是我应该使用 Html.BeginForm() 来完成任务。请告诉我你的想法。
html代码
@using (Html.BeginForm("ACTION", "CONTROLLER", FormMethod.Post, new{Id, title, body}))
现在我知道
new {id}
应该是
new{Id= Guid.NewGuid()}
但我需要控制器分配 guid 并保持设置,然后让 BeginForm 显示放置在文本框中的内容,其中 guid 在 Url。
控制器
[HttpPost]
public ActionResult ACTION(NamedModel item)
{
if (ModelState.IsValid)
{
using (DB.DatabaseEntities db = new DB.DatabaseEntities())
{
DB.Model newRecord = new DB.Model();
newRecord.Title = item.Title;
newRecord.Body = item.Body;
newRecord.NamedId = Guid.NewGuid();
db.Models.Add(newRecord);
db.SaveChanges();
}
}
return View(item);
我基本上需要知道应该在 BeginForm() 中放入什么。
谢谢。
我弄明白了,如果有人正在寻找这个,我想分享一下。
Guid 由控制器设置(但我发现使用 hmtl.Beginform 没有区别)。
现在假设您想在提交内容时在 url 中显示 guid。
控制器动作结束时应该是
return RedirectAction("ActionName", "ControllerName", new {Id = Guid.NewGuid()}):
想想 URL 及其工作原理,重定向的返回值基本上会将所有内容按照它在 Url
中应有的样子放置
所以现在我的 url 是本地主机####/ControllerName/Action/Guid
如果您无法让 guid 显示在 Url
上,请尝试一下
谢谢
我需要这方面的帮助。我已将代码全部设置为允许用户输入文本标题和文本 body,然后在数据库中为该条目留出一个 guid。
问题是 guid 发生变化,文本输入框变为空白,每次按下提交按钮时都需要保持不变。我的想法是我应该使用 Html.BeginForm() 来完成任务。请告诉我你的想法。
html代码
@using (Html.BeginForm("ACTION", "CONTROLLER", FormMethod.Post, new{Id, title, body}))
现在我知道
new {id}
应该是
new{Id= Guid.NewGuid()}
但我需要控制器分配 guid 并保持设置,然后让 BeginForm 显示放置在文本框中的内容,其中 guid 在 Url。
控制器
[HttpPost]
public ActionResult ACTION(NamedModel item)
{
if (ModelState.IsValid)
{
using (DB.DatabaseEntities db = new DB.DatabaseEntities())
{
DB.Model newRecord = new DB.Model();
newRecord.Title = item.Title;
newRecord.Body = item.Body;
newRecord.NamedId = Guid.NewGuid();
db.Models.Add(newRecord);
db.SaveChanges();
}
}
return View(item);
我基本上需要知道应该在 BeginForm() 中放入什么。
谢谢。
我弄明白了,如果有人正在寻找这个,我想分享一下。
Guid 由控制器设置(但我发现使用 hmtl.Beginform 没有区别)。
现在假设您想在提交内容时在 url 中显示 guid。
控制器动作结束时应该是
return RedirectAction("ActionName", "ControllerName", new {Id = Guid.NewGuid()}):
想想 URL 及其工作原理,重定向的返回值基本上会将所有内容按照它在 Url
中应有的样子放置所以现在我的 url 是本地主机####/ControllerName/Action/Guid
如果您无法让 guid 显示在 Url
上,请尝试一下谢谢