C# 如何将值从操作结果传递到视图

C# 如何将值从操作结果传递到视图,c#,asp.net,.net,asp.net-mvc,razor,C#,Asp.net,.net,Asp.net Mvc,Razor,我需要将模型属性从动作传递到视图, 我的一些模型属性将由用户填写,一些由我的代码填写 这是我的模型 public class DocOnDemandModel { public string Domain { get; set; } public DateTime Time { get; set; } [Required] [Display(Name = "Name")] public string Name { get; set; } [Requ

我需要将模型属性从动作传递到视图, 我的一些模型属性将由用户填写,一些由我的代码填写

这是我的模型

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();
    }
}
姓名、电子邮件和电话号码将由用户填写, 域、时间、pdfUrl、页面URL将由我的操作代码填充

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();
    }
}
现在我需要将域、时间、pdfUrl和PageUrl传递到视图,我尝试使用ViewBag,但出现了一个错误

有人能帮我解决这个问题吗?

提前感谢

您可以直接将模型传递给“从动作方法查看”

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);

您可以直接将模型传递给“从动作查看”方法

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);

我设法这样处理它


我不确定它是否正确,但它正在工作,我的代码保持不变。

我设法以这种方式处理它


不确定这是否是正确的方法,但它正在发挥作用,我的代码保持不变。

您可以直接将模型传递给“从操作方法查看”。如果将它们转换为控件中的字符串,会有帮助吗?e、 g.:ViewBag.Domain=Domain.ToString();1.不能用ViewBag完成吗?2.当视图已经获得模型时,是否可以传递对象?{@model FileRequest.Models.DocOnDemandModel}@DieterB函数ToString()没有帮助确切的完整错误是什么?您可以直接从操作方法将模型传递到视图。如果将它们转换为控件中的字符串,会有帮助吗?e、 g.:ViewBag.Domain=Domain.ToString();1.不能用ViewBag完成吗?2.当视图已经获得模型时,是否可以传递对象?{@model FileRequest.Models.DocOnDemandModel}@DieterB函数ToString()没有帮助到底是什么错误?肯定不是正确的方法。我建议你按照我的回答去做。这肯定不是正确的方式。我建议你按照我的回答去做。