谁能帮助我了解如何在 ASP.net MVC3 (MS Visual Studio 2010) View 页面上使用 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模式(Raw UniDynArray)。稍后我会介绍休息。
创建 ASP.NET MVC3 项目
创建模型
添加 Controller
创建 View
打开“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
打开“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>
运行应用程序并按“MyUniDynArray”。您将在 View 中看到 UniDynArray。我不确定您将如何将 UniDynArray 与 HTML5/Razor 控件绑定(bind)。这就是为什么我建议你展平 UniDynArray。
MVC View 中的类型化 UniDynArray
关于asp.net-mvc-3 - 在 ASP.net MVC View 页面上使用 UniDynArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514083/