解析控制器和partialview之间的数据

本文关键字:之间 数据 partialview 控制器 | 更新日期: 2023-09-27 18:12:41

嗨,我想从控制器解析数据到我的部分视图。我从数据库中获取数据,并将其转换为列表,并说列表字符串要发送到部分视图,所以我可以用它做的东西…

    public ActionResult ManipulateData()
    {
        List<string> str = new List<string>();
        DataTable data = LoadDBData();
        foreach (DataRow row in data.Rows)
        {
            foreach (DataColumn Col in data.Columns)
            {
                str.Add(row[Col].ToString());
            }
        }
        return View(str);
    }

这是我一直在尝试的代码,现在如何访问部分视图内的STR数据?

(第二个想法是返回List与函数,并以某种方式调用函数和传递数据到变量内视图)

解析控制器和partialview之间的数据

你可以把数据从一个视图传递到另一个视图。

假设你有这样的视图:

@model IEnumerable<DataLayer.StructuresList_Result>
<h2>@ViewBag.Title</h2>
@{
    Html.RenderPartial("_StructureList", Model);
}

正如你所看到的,我有一个带有模型的主视图,我把那个模型直接传递给了分部视图。

您还可以为您的模型创建包装器。

public class Wrapper
{
  public string Name {get;set;}
  public IEnumerable<MyClass> SubClasses {get;set;}
}
public class SubClass
{
  //your subclass code here
}

然后以传统方式将此包装器传递给您的模型:

public ActionResult Index()
{
  //get my wrapper object
  Warpper w = new Wrapper();
  return View(w);
{

然后在父视图中使用它并将SubClass传递给分部:

@model YourProjectName.Wrapper
<h2>Model.Name</h2>
@{
   Html.RenderPartial("_StructureList", Model.SubClasses);
}

这样你就可以像在父视图中访问数据一样访问该数据。

@model IEnumerable<string>
@foreach(var item in Model)
{
 //do something with model data
}

我没有测试这些,但它看起来是正确的。


Chris有一点是对的,这是非常基本的asp.net MVC。我建议你阅读一些MVC教程:

ASP。. NET站点:http://www.asp.net/mvc

Youtube视频:https://www.youtube.com/watch?v=-pzwRwYlXMw&list=PL6n9fhu94yhVm6S8I2xd6nYz2ZORd7X2v