加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何将控制器中的字符串消息传递给MVC中的视图

发布时间:2020-12-16 07:29:21 所属栏目:asp.Net 来源:网络整理
导读:我想通过从控制器传递到View来通过字符串变量显示字符串消息. 这是我的控制器代码: public ActionResult SearchProduct(string SearchString) { FlipcartDBContextEntities db = new FlipcartDBContextEntities(); string noResult="Search Result Not Foun
我想通过从控制器传递到View来通过字符串变量显示字符串消息.

这是我的控制器代码:

public ActionResult SearchProduct(string SearchString)
        {

            FlipcartDBContextEntities db = new FlipcartDBContextEntities();
            string noResult="Search Result Not Found";
            var products = from p in db.Products  select p;

            if (!String.IsNullOrEmpty(SearchString))
            {
                products = products.Where(s => s.ProductName.StartsWith(SearchString));
                return View(products);

            }

            else
            {

                return View(noResult);
            }

//
在这里,我想向视图显示字符串值ei Message.

请指导我.
对MVC来说是新手

解决方法

将您的控制器更改为:

public ActionResult SearchProduct(string SearchString)
    {

        FlipcartDBContextEntities db = new FlipcartDBContextEntities();
        string noResult="Search Result Not Found";
        var products = from p in db.Products  select p;

        if (!String.IsNullOrEmpty(SearchString))
        {
            products = products.Where(s => s.ProductName.StartsWith(SearchString));
            return View(products.ToList());

        }

        else
        {
            ViewBag.Message = noResult;
            return View(new List,Product>());
        }

您可以通过ViewBag将消息从服??务器传递到客户端.请注意,您必须从if / else的两侧返回相同的API,因此您不能一次传递产品列表而另一个传递字符串.在你看来:

if (ViewBag.Message != null)
{
   <span>@ViewBag.Message</span>
}

或者不要执行任何操作,只需根据列表中包含项目的产品列表的存在将消息放入视图中.

// Model = Products returned; must make sure list returned is not null
if (Model.Count > 0)
{
   <span>Search Result not found</span>
}

或者甚至作为另一种选择,您可以创建模型类:

public class SearchModel
{
   public List<Product> Products { get; set; }

   public string EmptyMessage { get; set; }
}

并通过您的查看方法返回:

//if
return View(new SearchModel { Products = products });
//else
return View(new SearchModel { EmptyMessage = "Search result Not Found" });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读