我是MVC的全新人物。我只想使用带有wcf服务的mvc在我的页面上显示故事标题列表。调试后,我的应用程序抛出异常:
找不到引用合同的默认端点元素 ServiceModel客户端配置中的“ServiceReference1.IService1” 部分。这可能是因为找不到配置文件 您的应用程序,或者没有匹配此的端点元素 合同可以在客户要素中找到。
代码如下:
HomeController.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcMovie.Controllers
{
public class HomeController : Controller
{
// ServiceReference1.Service1Client cs = new ServiceReference1.Service1Client();
public ActionResult Index()
{
//ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
ServiceReference1.Service1Client cs = new ServiceReference1.Service1Client();
List<ServiceReference1.Story> tm = cs.GetBollywoodStory();
return View();
}
}
}
Index.cshtml
@{
ViewBag.Title = "Index";
}
<h2>My Movie List</h2>
<p>Hello from our View Template!</p>
@*<%n ServiceReference1.Service1Client cs = new ServiceReference1.Service1Client();%>
*@Name
<%foreach (ServiceReference1.Story dr in tm)
{%>
<%=dr["Name"].ToString() %>
<% } %>
请帮帮我.....
答案 0 :(得分:2)
您不应该在View中编写代码逻辑!
在您的控制器中,您应该获得所需的所有数据,并将其放入某个ViewModel类中。 然后从您的模型显示给您的客户。
假设您创建了一些名为MovieViewModel的ViewModel;
public class MovieViewModel {
public string Name { get; set; }
... //rest of properties
}
然后在控制器中填充viewmodel并将其发送到您的视图:
<强>控制器强>
public ActionResult Index()
{
//ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
ServiceReference1.Service1Client cs = new ServiceReference1.Service1Client();
List<ServiceReference1.Story> tm = cs.GetBollywoodStory();
//populate viewmodel
var movies = new List<MovieViewModel>();
foreach(var item in tm) {
movies.Add(new MovieViewModel {
Name = item.Name;
...
});
}
return View(movies);
}
当您将已填充的模型传递到视图后,您可以将其呈现给您的客户端:
查看强>
@model IEnumerable<MvcMovie.<folder of your viewmodels>.MovieViewModel>
@{
ViewBag.Title = "Index";
}
<h2>My Movie List</h2>
<p>Hello from our View Template!</p>
@foreach(var movie in Model) {
@Html.DisplayNameFor(m => m.Name)
@Html.DisplayFor(m => m.Name)
}
*请注意视图开头的模型参考!
你应该了解Razor,以及MVC助手...... 这可以是起点,但你需要找到一些关于MVC的好教程。