gpt4 book ai didi

asp.net-mvc-3 - 在 ASP.net MVC View 页面上使用 UniDynArray

转载 作者:行者123 更新时间:2023-12-04 05:06:07 26 4
gpt4 key购买 nike

谁能帮助我如何在 ASP.net MVC3 (MS Visual Studio 2010) 查看页面上使用 UniDynArray?

我设法将引用(U2.Data.Client)添加到项目中,并且可以在 Controller 中使用它,但不能在 View 页面中使用。

使用 UniDynArray 的原因是,我想将动态数组从 Controller 传递到 View 并返回给 Controller 。这样我就不必将每个字段都设置为 VIEWDATA 以便在 View 中使用。

最佳答案

我想解释一下如何通过以下方式将 UniDynArray 从 Controller 传递给 MVC View:

  • MVVM 模式(原始 UniDynArray)
  • ViewBag 模式(原始 UniDynArray)
  • MVVM 模式(将 UniDynArray、UniDynArray 展平为 .NET 对象数据表)
  • MVVM 模式(将 UniDynArray、UniDynArray 展平为 POCO 对象)

  • 在这篇文章中,我将回答 MVVM Pattern (Raw UniDynArray)。稍后我将介绍休息。

    创建 ASP.NET MVC3 项目
    pic1

    创建模型
    pic2

    pic3

    添加 Controller
    pic4

    pic5

    创建 View
    pic5a

    pic5b

    打开“CustomerViewModel.cs”文件并粘贴以下代码

    命名空间 Test_MvcApplication.Models
    {
    public class CustomerViewModel
    {
    public Customer MyCustomer { get; set; }
    public CustomerViewModel(Customer pCustomer)
    {
    MyCustomer = pCustomer;
    }
    }

    public class Customer
    {
    private UniDynArray myVar;
    public UniDynArray MyUniDynArray
    {
    get
    {
    U2ConnectionStringBuilder conn_str = new U2ConnectionStringBuilder();
    conn_str.UserID = "user";
    conn_str.Password = "pass";
    conn_str.Server = "localhost";
    conn_str.Database = "HS.SALES";
    conn_str.ServerType = "UNIVERSE";
    conn_str.AccessMode = "Native"; // FOR UO
    conn_str.RpcServiceType = "uvcs"; // FOR UO
    conn_str.Pooling = false;
    string s = conn_str.ToString();
    U2Connection con = new U2Connection();
    con.ConnectionString = s;
    con.Open();
    Console.WriteLine("Connected.........................");

    // get RECID

    UniSession us1 = con.UniSession;

    UniSelectList sl = us1.CreateUniSelectList(2);

    // Select UniFile
    UniFile fl = us1.CreateUniFile("CUSTOMER");
    fl.RecordID = "2";
    myVar = fl.Read();
    return myVar;
    }
    set
    {
    myVar = value;
    }
    }
    }

    }

    打开“MyUniDynArrayController.cs”并粘贴以下代码。当您注意到您正在将对象传递给 View 并且该对象具有 UniDynArray

    命名空间 Test_MvcApplication.Controllers
    {
    公共(public)类 MyUniDynArrayController : Controller
    {
    //
    //获取:/MyUniDynArray/
        public ActionResult Index()
    {
    Customer c = new Customer();
    UniDynArray r = c.MyUniDynArray;

    var l = new CustomerViewModel(c);

    return View(l);

    }

    }

    }

    打开“MyUniDynArray\Index.cshtml”并粘贴以下代码。 @Model 包含 ViewModel 对象 (UniDynArray)

    @{
    ViewBag.Title = "索引";
    }

    MyUniDynArray

    ===================

    @Model.MyCustomer.MyUniDynArray

    pic8

    打开“Shared\Layout.cshtml”文件并添加以下行
    <nav>
    <ul id="menu">
    <li>@Html.ActionLink("MyUniDynArray", "Index", "MyUniDynArray")</li>
    <li>@Html.ActionLink("Home", "Index", "Home")</li>
    <li>@Html.ActionLink("About", "About", "Home")</li>

    </ul>
    </nav>

    pic9

    运行应用程序并按“MyUniDynArray”。您将在 View 中看到 UniDynArray。我不确定您将如何将 UniDynArray 与 HTML5/Razor 控件绑定(bind)。这就是为什么我建议你扁平化 UniDynArray。

    pic6

    pic7

    在 MVC View 中键入 UniDynArray

    enter image description here

    关于asp.net-mvc-3 - 在 ASP.net MVC View 页面上使用 UniDynArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514083/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com