c# - 将传递的字符串参数引用到局部视图
问题描述
我想将字符串变量传递给局部视图,但我不确定如何将字符串参数显示到局部视图。我尝试了一些我在类似问题上找到的答案,但我得到了以下输出:
“my_app.Models.DogTreatments”。谁能告诉我这是为什么?
这是我的代码:
控制器:
[HttpPost]
public ActionResult CasIndex(int Sid)
{
string treat = dbContext.DogTreatments.Where(x => x.Sid == Sid).SingleOrDefault().ToString();
// ViewBag.TList = dbContext.DogTreatments.Where(x => x.Sid == Sid);
return PartialView("DisplayTreatments", treat);
}
查看页面:
@Html.Partial("~/Views/Shared/DisplayTreatments.cshtml")
部分观点:
@model string
@{
Layout = null;
}
@Model
解决方案
由于您的 LINQ 语句,您看到的内容是正确的。
string treat = dbContext.DogTreatments.Where(x => x.Sid == Sid).SingleOrDefault().ToString();
这dbContext.DogTreatments.Where(x => x.Sid == Sid)
会过滤所有 DogTreatments Where
x.Sid == Sid
这将.SingleOrDefault()
选择一个single object
类型DogTreatments
或默认(空)。
toString()
会将对象类型转换为其字符串格式,因此my_app.Models.DogTreatments
也许这可以满足您的要求:
从 LINQ 查询返回对象:
var treat = dbContext.DogTreatments.Where(x => x.Sid == Sid).SingleOrDefault();
return PartialView("DisplayTreatments", treat);
部分视图将如下所示:
@using my_app.Models.DogTreatments //(this might need to be fixed)
@model DogTreatments
@{
Layout = null;
}
// in here you can access the DogTreatments object
// These are just examples as I don't know from question what DogTreatments properties are
@if(Model != null)
{
@Model.Name
@Model.Treatment
}
推荐阅读
- javascript - 根据最大字符数将单词数组分块
- c++ - 将函数作为模板参数传递给类
- ignite - 点燃创建具有完全权限的用户(Jdbc 瘦客户端)
- python - 如何编辑 pdf 表格?
- scala - 如何使用 twitter4s 从停止的流中获取推文
- python - 在 streamlit 中整齐地显示分组/多索引 Pandas 数据帧
- spring-boot - org.springframework.beans.factory.BeanCreationException on Spring Boot 从 1.5 版升级到 2.1 版
- php - 域名的全文搜索,.(点)被视为一个空格或发生了什么?
- javascript - 两个数组中最接近的值的集合
- django - django-environ 和 python-decouple 之间的区别?