我正在尝试创建 HttpPost 方法来创建新的数据库条目。它应该从不同的数据库表和“名称”中获取 2 个外部 ID。这是模型:
public class Domena
{
public int DomenaID { get; set; } // this domains ID
public int TLDID { get; set; } // foreign id
public int KlientID { get; set; } // foreign id
public string Nazwa { get; set; }
public virtual TLD TLD { get; set; }
public virtual Klient Klient { get; set; }
}
对,所以基本上这就是我现在所拥有的:
// GET: /Domena/Add_Domain
public ActionResult Add_Domain()
{
ViewBag.TLDID = new SelectList(db.TLDs, "TLDID", "Typ");
ViewBag.KlientID = new SelectList(db.Klienci, "KlientID", "KlientID");
return View();
}
//
// POST: /Domena/Add_Domain
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Add_Domain(Domena domena)
{
if (ModelState.IsValid)
{
db.Domeny.Add(domena);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.TLDID = new SelectList(db.TLDs, "TLDID", "Typ", domena.TLDID);
ViewBag.KlientID = new SelectList(db.Klienci, "KlientID", "KlientID", domena.KlientID);
return View(domena);
}
它现在的工作方式是,它将显示一个下拉列表,我可以从中选择 TLDID(按“Typ”)和 KlientID(按数据库中的“KlientID”条目)。它还要求一个“Nazwa”,这是必须写的名字。
我想删除从下拉列表中选择 KlientID 的选项,而是让 HttpPost 从链接中获取 KlientID。例子 :
- 我去客户的详细信息页面:
/Klient/Details/6
- 我单击 Add_Domain 链接,该链接获取当前查看的 KlientID 并带我到:
/Domena/Add_Domain/6
所以,我的问题是,如何同时修改 Get 和 Post 方法,以便在数据库中为链接中的客户端 ID 创建一个新的“domena”条目?
我是否也必须更改任何内容?
这是我当前的 Add_Domain 视图字段集:
<fieldset>
<legend>Domena</legend>
<div class="editor-label">
@Html.LabelFor(model => model.TLDID)
</div>
<div class="editor-field">
@Html.DropDownList("TLDID", String.Empty)
@Html.ValidationMessageFor(model => model.TLDID)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.KlientID)
</div>
<div class="editor-field">
@Html.DropDownList("KlientID", String.Empty)
@Html.ValidationMessageFor(model => model.KlientID)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Nazwa)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Nazwa)
@Html.ValidationMessageFor(model => model.Nazwa)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
提前致谢!