簡體   English   中英

如何將動作結果中的值傳遞給視圖

[英]How to pass values from action result to view

我需要將模型屬性從操作傳遞到視圖,我的一些模型屬性將由用戶填充,而另一些則由我的代碼填充。

這是我的模特

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,PageUrl

現在我需要將Domain,Time,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);
@Html.Label((string)ViewBag.Domain)

我設法這樣處理 在此處輸入圖片說明

不知道這是否是正確的方法,但是它正在執行任務,我的代碼保持不變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM