第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以在不創(chuàng)建視圖模型的情況下返回模型和字符串?

是否可以在不創(chuàng)建視圖模型的情況下返回模型和字符串?

C#
牛魔王的故事 2021-11-21 10:45:54
我想實現(xiàn)這樣的目標:public IActionResult Test(string id){    (...)    var user = context.Users.First(x => x.Id.ToString() == id);    var message = "abc";    return View("Edit", user, message);}這可能不創(chuàng)建 ViewModel 嗎?
查看完整描述

3 回答

?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

我完全同意盡可能使用視圖模型的建議。它們更容易使用,即使它們有時看起來有點矯枉過正。


也就是說,要回答您的問題,您可以使用 a Tuple:


public IActionResult Test(string id)

{

    var user = context.Users.First(x => x.Id.ToString() == id);

    var message = "abc";


    // The generic types will be inferred here so they're not necessary

    // but I've added them for clarity in the example.

    var viewModel = Tuple.Create<User, string>(user, message);


    return View("Edit", viewModel);

}

然后在視圖中,你需要這個:


@model Tuple<User, string>

只需確保將正確的命名空間添加到User視圖中的類型。


編輯

為了完整ValueTuple起見,下面是使用C# 7 中的a 的示例,下面是 Adam 的評論:


public IActionResult Test(string id)

{

    var user = context.Users.First(x => x.Id.ToString() == id);

    var message = "abc";


    return View("Edit", (user, message));

}

如果您使用 .NET Core 2.1 及更高版本,則視圖的model指令將變?yōu)椋?/p>


@model (User user, string message)

然后你會像這樣訪問那些:


@Model.user

否則,您將需要使用(從評論中歸功于@AdamSimon):


@model ValueTuple<User, string>

var (user, message) = Model;

有關(guān)詳細信息,請參閱MSDN 上的C# 7.0 中的新增功能博客文章。


查看完整回答
反對 回復 2021-11-21
?
12345678_0001

TA貢獻1802條經(jīng)驗 獲得超5個贊

您可以使用 ViewBag,但要注意它的內(nèi)容不是強類型的。


控制器


public IActionResult Test(string id)

{

    (...)


    ViewBag.User = context.Users.First(x => x.Id.ToString() == id);

    ViewBag.Message = "abc";


    return View("Edit");

}

看法


@{

    User user = ViewBag.User as User; 

    string message = ViewBag.Message as string;

}


查看完整回答
反對 回復 2021-11-21
?
蕭十郎

TA貢獻1815條經(jīng)驗 獲得超13個贊

嘗試使用匿名對象:


public IActionResult Test(string id)

{

    (...)


    var user = context.Users.First(x => x.Id.ToString() == id);

    var message = "abc";


    return View("Edit", new {User = user, Message = message});

}


查看完整回答
反對 回復 2021-11-21
  • 3 回答
  • 0 關(guān)注
  • 222 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號