我有一个表名"Product"和另一个表名"category".产品表有'productID','productName'和'CategoryID'.类别表有'categoryID'和'categoryName'.
我的目标是显示带有类别的产品列表.该列表将包含"产品ID","产品名称"和"类别名称".
我创建了一个viewmodel.代码是
public int prodID{get;set;}
public int prodName{get;set;}
public int catName{get;set;}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我有:
var query= from p in dc.Product
select new {p.ProductID,p.ProductName,p.Category1.CategoryName };
var prod = new ProductIndexViewModel()
{
ProductList=query //this line is problematic !!it says an explicit conversion exists....
};
return View(prod);
Run Code Online (Sandbox Code Playgroud)
我如何编写我的控制器代码,以便它与viewmodel匹配?
我正在按照教程从服务器下载文件.但有点麻烦.我一定是在做一些愚蠢的错误.. !!
这是我关注的链接:http://haacked.com/archive/2008/05/10/writing-a-custom-file-download-action-result-for-asp.net-mvc.aspx
要求是; 用户将点击链接,该网站将把他们带到详细信息页面.在该详细信息页面上,将有一个下载链接.当用户点击该下载链接时,将下载该文件.
问题是,当我单击下载链接时,它不会下载原始文件.而是下载HTML文件.如果我单击HTML文件,它会显示垃圾.
这是我的代码:
行动:
public ActionResult Download(string path,string name)
{
return new DownloadResult { VirtualPath = path, FileDownloadName = name };
}
Run Code Online (Sandbox Code Playgroud)
DownloadResult类
public class DownloadResult : ActionResult
{
public DownloadResult()
{
}
public DownloadResult(string virtualPath)
{
this.VirtualPath = virtualPath;
}
public string VirtualPath
{
get;
set;
}
public string FileDownloadName
{
get;
set;
}
public override void ExecuteResult(ControllerContext context)
{
if (!String.IsNullOrEmpty(FileDownloadName))
{
context.HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" + this.FileDownloadName);
}
string filePath = …Run Code Online (Sandbox Code Playgroud) 我有一些Web服务,由一些客户调用,包括通过移动和Web.我无法控制客户端代码.但是,我需要通过IP地址或其他方式确定谁正在调用我的Web服务.有没有办法确定?
我是依赖注入模式的新手.关于一些事情,我有点困惑.
我有一个名为'MailCore'的类库项目.该项目具有执行所有电子邮件发送内容的接口和类.我有一个名为'The site'的MVC项目.它使用'MailCore'项目发送电子邮件.我在这个项目中有Unity,并且UnityContainer已经注册,并且工作正常.
我还有另一个名为"SiteRepo"的类库库项目.有时,为了执行某些特定任务,我必须从该项目发送电子邮件.因此,"MailCore"项目也在此项目中引用.
我在'SiteRepo'项目中从NuGet安装了Unity,它似乎没有在这个类库项目中创建任何UnityConfig.我如何在这里注册UnityContainer?
网站:
Public class JobController : Controller
{
private readonly IEmailBuilder mailBuilder;
public JobController(IEmailBuilder mailBuilder)
{
this.mailBuilder = mailBuilder;
}
public ActionResult Create(....)
{
JobRepo j = new JobRepo();
j.Create(....);
}
}
Run Code Online (Sandbox Code Playgroud)
UnityConfig(这是在网络应用程序'The Site'):
public static class UnityConfig
{
public static void RegisterComponents()
{
var container = new UnityContainer();
// register all your components with the container here
// it is NOT necessary to register your controllers
// e.g. container.RegisterType<ITestService, TestService>();
container.RegisterType<IEmailBuilder, EmailBuilder>(); …Run Code Online (Sandbox Code Playgroud) 目标是:我需要一个wcf方法,它将在数据库中创建用户.
我正在使用会员提供商.我的客户端是SmartPhone /移动设备.
我写了一个方法,当我测试方法时会创建用户BUT我得到以下错误.
错误:
尝试初始化System.Data.SqlClient.SqlConnection对象时发生错误.为连接字符串提供的值可能有误,或者可能包含无效语法.参数名称:connectionString
我在以下行中收到此错误:
Membership.CreateUser(name, password,email,"question","answer",true,out createStatus);
Run Code Online (Sandbox Code Playgroud)
我使用与用于从数据库中读取数据的相同connectionString.
我的连接字符串是:
<add name="MajangoEntities" connectionString="metadata=res://*/EntityModel.MajangoEntityModel.csdl|res://*/EntityModel.MajangoEntityModel.ssdl|res://*/EntityModel.MajangoEntityModel.msl;provider=System.Data.SqlClient;provider connection string="data source=tcp:sql2k298.discountasp.net;initial catalog=SQL2008R2_835021_myddb;user id=SQL2008R2_835021_mydb_user;password=mypassword;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
有人能帮助我一些想法吗?
我有一个字符串列表和供应商List<supplier>.
字符串列表包含一些搜索项目,供应商列表包含供应商对象列表.现在我需要找到与字符串中的任何项匹配的所有供应商名称List<string>.
这是我失败的尝试之一..
var query = some join with the supplier table.
query = query.where(k=>stringlist.contains(k.companyname)).select (...).tolist();
Run Code Online (Sandbox Code Playgroud)
任何想法怎么做?
可能是我的问题不够明确......我需要找到供应商名称与字符串列表中的任何项目匹配的供应商列表(不仅是名称,整个对象).
如果我做
query = query.where(k=>k.companyname.contains("any_string")).select (...).tolist();
Run Code Online (Sandbox Code Playgroud)
有用.但这不是我的要求.我的要求是字符串列表而不是单个字符串.
我有一个解决方案,我有8/9项目.一切都运行良好,突然间,当我开始调试时,我开始出错.它说
Unable to start debugging.
Run Code Online (Sandbox Code Playgroud)
如果我关闭visual studio并再次运行它,它会在第一次尝试时运行.之后它停止工作.
在配置管理器中,它设置为"任何CPU".
我尝试了许多没有运气的事情.有什么帮助吗?
这就是错误的样子..

我有一个wcf方法,我必须计算纬度经度点之间的距离.距离计算器方法采用double值作为参数.所以当我发送纬度值= 55.68743时,.net将其转换为55.6874299999,我的距离错误.
为什么价值在转换?有谁知道我该怎么解决?
这是一些代码......
public double distance(double lat1, double lon1, double lat2, double lon2)
{
double theta = lon1 - lon2;
double dist = Math.Sin(deg2rad(lat1)) * Math.Sin(deg2rad(lat2)) + Math.Cos(deg2rad(lat1)) * Math.Cos(deg2rad(lat2)) * Math.Cos(deg2rad(theta));
dist = Math.Acos(dist);
dist = rad2deg(dist);
dist = dist * 60 * 1.1515;
dist = dist * 1.609344;
return (dist);
}
public double deg2rad(double deg)
{
return (deg * Math.PI / 180.0);
}
public double rad2deg(double rad)
{
return (rad / Math.PI * 180.0);
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我正在计算两点的距离.lat1 = …