我需要将动作中的模型属性传递给视图, 我的一些模型属性将由用户填写,一些由我的代码填充。
这是我的模特
public class DocOnDemandModel
{
public string Domain { get; set; }
public DateTime Time { get; set; }
[Required]
[Display(Name = "Name")]
public string Name { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[Display(Name = "Phone number")]
public string PhoneNumber { get; set; }
public string PdfUrl { get; set; }
public string PageUrl { get; set; }
}
这是行动代码
public class DocOnDemandController : Controller
{
// GET: Request
public ActionResult Index(string PdfUrl)
{
string Domain = Request.UrlReferrer.Host;
string PageUrl = Request.UrlReferrer.OriginalString;
DateTime Time = DateTime.Now;
ViewBag.PageUrl = PageUrl;
ViewBag.Domain = Domain;
ViewBag.PdfUrl = PdfUrl;
ViewBag.Time = Time;
return View();
}
}
姓名,电子邮件和电话号码将由用户填写, Domain,Time,pdfUrl,PageUrl将由我的操作代码填写
现在我需要将Domain,Time,pdfUrl和PageUrl传递给View,我尝试使用ViewBag但出现错误
有人可以帮我解决问题并帮我解决问题吗? 提前致谢
答案 0 :(得分:4)
您可以直接将模型传递给动作方法查看。
public ActionResult Index(string PdfUrl)
{
var model = new DocOnDemandModel();
string Domain = Request.UrlReferrer.Host;
string PageUrl = Request.UrlReferrer.OriginalString;
DateTime Time = DateTime.Now;
model.PageUrl = PageUrl;
model.Domain = Domain;
model.PdfUrl = PdfUrl;
model.Time = Time;
return View(model);
}
然后在你看来:
@Html.LabelFor(m => m.Domain);
答案 1 :(得分:0)
@Html.Label((string)ViewBag.Domain)
答案 2 :(得分:0)