@RowFrom int
@RowTo int
是存储过程的全局输入参数,因为我使用T-SQL编译存储过程内的SQL查询,然后Exec(@sqlstatement)
在存储过程的末尾使用它来显示结果,当我尝试使用它时,它会给我这个错误在执行的变量中@RowFrom
或者@RowTo
内部@sqlstatement
..否则工作正常..请帮助.
"Must declare the scalar variable "@RowFrom"."
Run Code Online (Sandbox Code Playgroud)
另外,我尝试在@sqlstatement
变量中包含以下内容:
'Declare @Rt int'
'SET @Rt = ' + @RowTo
Run Code Online (Sandbox Code Playgroud)
但@RowTo
仍然没有将其值传递给@Rt
并生成错误.
当它在VS2012 IDE中打开时,我的项目中出现了一个奇怪的错误.它突然说到我使用另一个参考项目的地方"Type or Namespace name could not be found"
.并且通过"说",我的意思是当我将鼠标悬停在它上面时,它的文字用红色加下划线并带有错误.intellisense不适用于该代码.但是(这里是奇怪的部分),错误没有显示在错误控制台中,项目构建并运行正常.
我甚至可以调试并逐步执行代码,它工作得很好.所以在运行时项目被引用很好,但在设计时IDE无法找到它.这种情况在过去的两周里一直有效,然后才突然变得有些疯狂.这真的很烦人,因为我在没有intellisense的情况下编写垃圾!
有没有人见过这样的东西或有任何建议?
我使用jquery调用ajax wcf方法,该方法返回一个对象列表作为JSON字符串.在fiddler2(在TextView中)检查时,JSON字符串如下所示:
{"d":"[{\"ID\":\"6b2b8c62-31ce-4df2-982b-054ff5f6be72\",\"Name\":\"Carol\",\"Surname\":\"IrishWife\"},{\"ID\":\"d254740a-0a0f-4a1e-9e4f-0812227dd5af\",\"Name\":\"Willie\",\"Surname\":\"Le Roux\"},{\"ID\":\"660bf0dd-436a-4588-a9c0-19fd6fdcee23\",\"Name\":\"Emmas\",\"Surname\":\"Mum\"},{\"ID\":\"6b9403c5-b728-4e96-bcb1-203e7472eec3\",\"Name\":\"Owen\",\"Surname\":\"Lima\"},{\"ID\":\"d52c08fb-4418-4600-960f-243ff4443ee6\",\"Name\":\"Tim\",\"Surname\":\"Lee\"},{\"ID\":\"e2aacf5b-8855-44ce-9338-3d39f8ab3349\",\"Name\":\"Marcello\",\"Surname\":\"MT\"},{\"ID\":\"578be087-8385-46d6-89de-3db31d352cbc\",\"Name\":\"Carlyn\",\"Surname\":\"Homegroup\"},{\"ID\":\"4c805825-2bee-447a-8b75-41ead17db33e\",\"Name\":\"George\",\"Surname\":\"Homegroup\"},{\"ID\":\"ae48804f-5e78-42c8-9ba0-4214c98a5a89\",\"Name\":\"Isla\",\"Surname\":\"Le Roux\"},{\"ID\":\"f8be2f4f-fedb-4863-8a84-44fddea84ea9\",\"Name\":\"Peter\",\"Surname\":\"Anderson\"},{\"ID\":\"15e7644d-ec43-44ff-a959-47e00112da6b\",\"Name\":\"Kitty\",\"Surname\":\"Corbett\"},{\"ID\":\"8fd7fccc-335c-4d5c-93b5-4b00f96a9950\",\"Name\":\"Natalie\",\"Surname\":\"Archibald\"},{\"ID\":\"09b5aad2-2cf1-488a-962b-4d692b05ddea\",\"Name\":\"Miku\",\"Surname\":\"Heally\"},{\"ID\":\"affa369e-5af3-4537-a0f4-71422956da41\",\"Name\":\"Steven\",\"Surname\":\"Corbett\"},{\"ID\":\"65f57da3-4f88-4798-9590-83b4ccecfc44\",\"Name\":\"Tim\",\"Surname\":\"Archibald\"},{\"ID\":\"53bfb451-f66f-4b6e-b430-8d13c95b30d8\",\"Name\":\"Philip\",\"Surname\":\"MT\"},{\"ID\":\"c7f22b9b-4030-4f82-9f75-bbb726cabb73\",\"Name\":\"Vincent\",\"Surname\":\"Van Der Walt\"},{\"ID\":\"232577be-3165-4316-a20d-c2f2a09c5382\",\"Name\":\"Scott\",\"Surname\":\"Lynn\"},{\"ID\":\"913508a1-5dca-4504-8caf-c8e3dc386fc0\",\"Name\":\"Dan\",\"Surname\":\"MT\"},{\"ID\":\"36054a07-b14d-4c1c-b35f-e00875dde7e5\",\"Name\":\"Sarah\",\"Surname\":\"MT\"},{\"ID\":\"f14e7d98-e040-4ba9-928f-f2ff48116b0b\",\"Name\":\"Josh\",\"Surname\":\"IrishDude\"}]"}
Run Code Online (Sandbox Code Playgroud)
当我在fiddler的JSON视图中检查结果时,它显示以下JSON:
d=[{"ID":"6b2b8c62-31ce-4df2-982b-054ff5f6be72","Name":"Carol","Surname":"IrishWife"},{"ID":"d254740a-0a0f-4a1e-9e4f-0812227dd5af","Name":"Willie","Surname":"Le Roux"},{"ID":"660bf0dd-436a-4588-a9c0-19fd6fdcee23","Name":"Emmas","Surname":"Mum"},{"ID":"6b9403c5-b728-4e96-bcb1-203e7472eec3","Name":"Owen","Surname":"Lima"},{"ID":"d52c08fb-4418-4600-960f-243ff4443ee6","Name":"Tim","Surname":"Lee"},{"ID":"e2aacf5b-8855-44ce-9338-3d39f8ab3349","Name":"Marcello","Surname":"MT"},{"ID":"578be087-8385-46d6-89de-3db31d352cbc","Name":"Carlyn","Surname":"Homegroup"},{"ID":"4c805825-2bee-447a-8b75-41ead17db33e","Name":"George","Surname":"Homegroup"},{"ID":"ae48804f-5e78-42c8-9ba0-4214c98a5a89","Name":"Isla","Surname":"Le Roux"},{"ID":"f8be2f4f-fedb-4863-8a84-44fddea84ea9","Name":"Peter","Surname":"Anderson"},{"ID":"15e7644d-ec43-44ff-a959-47e00112da6b","Name":"Kitty","Surname":"Corbett"},{"ID":"8fd7fccc-335c-4d5c-93b5-4b00f96a9950","Name":"Natalie","Surname":"Archibald"},{"ID":"09b5aad2-2cf1-488a-962b-4d692b05ddea","Name":"Miku","Surname":"Heally"},{"ID":"affa369e-5af3-4537-a0f4-71422956da41","Name":"Steven","Surname":"Corbett"},{"ID":"65f57da3-4f88-4798-9590-83b4ccecfc44","Name":"Tim","Surname":"Archibald"},{"ID":"53bfb451-f66f-4b6e-b430-8d13c95b30d8","Name":"Philip","Surname":"MT"},{"ID":"c7f22b9b-4030-4f82-9f75-bbb726cabb73","Name":"Vincent","Surname":"Van Der Walt"},{"ID":"232577be-3165-4316-a20d-c2f2a09c5382","Name":"Scott","Surname":"Lynn"},{"ID":"913508a1-5dca-4504-8caf-c8e3dc386fc0","Name":"Dan","Surname":"MT"},{"ID":"36054a07-b14d-4c1c-b35f-e00875dde7e5","Name":"Sarah","Surname":"MT"},{"ID":"f14e7d98-e040-4ba9-928f-f2ff48116b0b","Name":"Josh","Surname":"IrishDude"}]
Run Code Online (Sandbox Code Playgroud)
所以fiddler可以成功解析它,但在客户端上,jquery ajax错误回调函数显示以下错误:
Error: No conversion from text to application/json
Run Code Online (Sandbox Code Playgroud)
wcf方法定义如下:
[OperationContract]
[WebGet(ResponseFormat=WebMessageFormat.Json)]
public string GetPeople(Guid groupId)
{
using (SchedulerContext context = new SchedulerContext())
{
JavaScriptSerializer ser = new JavaScriptSerializer();
var query = from p in context.People
where p.Group_ID == groupId
select new
{
p.ID,
p.Name,
p.Surname
};
return ser.Serialize(query.ToArray());
}
}
Run Code Online (Sandbox Code Playgroud)
最后,调用jquery是:
$.ajax(
{
type: "GET",
dataType: "application/json",
contentType: "json",
data: { groupId: 'ae09a080-5d7c-4e92-9a87-591574b7c4b8' },
url: "WebAPI.svc/GetPeople", …
Run Code Online (Sandbox Code Playgroud) 我正在使用iTextSharp v.4来合并一大堆html文件.它工作正常,直到我需要升级到iTextSharp的第5版.
当我将流读取器(读取html文件的内容)传递到HTMLWorker对象的ParseToList方法时,问题就出现了.它抛出一个空引用异常.在调试它时,我可以访问streamReader并确认读取了正确的文件内容.
这是代码:
List<IElement> objects;
try
{
objects = HTMLWorker.ParseToList(new StringReader(htmlString), null);
}
catch (Exception e)
{
htmlString = "<html><head></head><body><br/><br/><h2 style='color:#FF0000'>ERROR READING FILE!</h2><h3>File Excluded From Stitched Document!</h3><br/><br/><p>There was an error while trying to read the following file:</p><p><span style='color:#FF0000'>" + fileName + "</span></p></body></html>";
objects = HTMLWorker.ParseToList(new StringReader(htmlString), null);
}
Run Code Online (Sandbox Code Playgroud)
在catch块中,您将看到我然后使用几乎相同的代码将文本添加到pdf中以表示存在问题.这段代码工作正常.这当然让我觉得问题在于原始html字符串的内容,所以这里是字符串的内容,因为它是在传递给解析器之前的内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
</head>
<body style="font-family: Arial, Helvetica, sans-serif; …
Run Code Online (Sandbox Code Playgroud) 我正在尝试HttpResponseException
按照此截屏视频中的描述进行提升(约1分钟)
throw new HttpResponseException(HttpStatusCode.Unauthorized);
Run Code Online (Sandbox Code Playgroud)
但该应用程序将无法编译,因为它会引发以下错误:
The best overloaded method match for 'System.Web.Http.HttpResponseException.HttpResponseException(System.Net.Http.HttpResponseMessage)' has some invalid arguments
Run Code Online (Sandbox Code Playgroud)
msdn上的文档说它有一个接受HttpResponseMessage
枚举的构造函数.http://msdn.microsoft.com/en-us/library/hh835324%28v=vs.108%29.aspx
我错过了什么?
谢谢
我试图在新安装的Visual Studio Express 2012 RC中打开MVC3解决方案.到目前为止,我遇到的问题由于某种原因VS2012不知道项目是MVC项目,所以它不会添加视图/控制器.通过将以下GUID添加到解决方案中每个项目ProjectTypeGuids
的.csproj
文件的节点来实现此目的:
{E53F8FEA-EAE0-44A6-8774-FFD645390401}
Run Code Online (Sandbox Code Playgroud)
但是,当我打开剃刀视图时,它会显示这些错误(以及其他相关错误):
Error 20 The name 'model' does not exist in the current context c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml 2 2 EventManagement
Error 21 The name 'T' does not exist in the current context c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml 5 14 EventManagement
Error 22 'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for 'LabelFor' and no extension method 'LabelFor' accepting a first argument of type 'System.Web.WebPages.Html.HtmlHelper' could be found (are you missing a using directive …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个基本dbcontext,其中包含所有常用实体,这些实体将始终在多个项目中重用,如页面,用户,角色,导航等.
这样做我有一个ContextBase类继承DbContext并定义我想要的所有DbSet.然后我有一个Context类继承ContextBase,我定义项目特定的DbSet.这些类定义如下:
public class ContextBase : DbContext
{
public virtual DbSet<User> Users { get; set; }
//more sets
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new UsersConfiguration());
//add more configurations
}
}
public class Context : ContextBase
{
public DbSet<Building> Buildings { get; set; }
//some more project specific sets
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Configurations.Add(new BuildingsConfiguration());
//add more project specific configs
}
}
Run Code Online (Sandbox Code Playgroud)
在我的global.asax中:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<Context, Configuration>());
Run Code Online (Sandbox Code Playgroud)
其中Configuration引用继承DbMigrationsConfiguration并重写Seed方法的类.
两个上下文类在同一名称空间中定义,但是交叉程序集(为了我可以在多个现有项目中更新基础项目而不触及项目特定代码) - 不确定这是否相关.
我的问题: 运行此代码时,它工作正常,但在查看数据库时,它实际上创建了两个不同的数据库!一个包含所有基本实体表,另一个包含BOTH基表和自定义表.CRUD操作只在自定义版本上执行(这显然是我想要的),但为什么它也会创建另一个版本的模式?
任何帮助表示赞赏,谢谢!
更新:
以下代码是我最终得到的.它并不理想,但它确实有效.我仍然希望获得有关如何改进这一点的反馈,但与此同时,我希望这有助于推动这一进程.我真的不推荐这样做!它非常容易出错并且非常令人沮丧.我只是发布这个,看看是否有更好的想法或实现来实现这一目标.
仍然存在的一个(但不是唯一的)问题是必须手动将MVC视图添加到项目中.我已经将它添加到Nuget包中,但是当VS连接到TFS时,需要2到3个小时来应用具有如此多文件的nuget包.通过一些更多工作和自定义View引擎,可以预编译视图(http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html …
是否可以在另一个页面上从javascript调用[WebMethod]归因的方法?即在名为PageTwo.aspx的页面上使用以下jquery ajax调用:
$.ajax(
{
type: "POST",
url: "pageone.aspx/PageOneMethodOne",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg)
{
//something
}
}
);
Run Code Online (Sandbox Code Playgroud)
PageOne.aspx.cs包含
[WebMethod]
public string PageOneMethodOne()
{
return "hello world";
}
Run Code Online (Sandbox Code Playgroud) 我正在使用EF Code First,并且有两个类定义如下:
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Email { get; set; }
}
[Table("Visitors")]
public class Visitor : User
{
public Visitor()
{
Favourites = new List<Building>();
}
public virtual IList<Building> Favourites { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这使用Table-Per-Type继承并定义DB模式,如下所示:
Users Table
Id int PK
Username nvarchar(max)
Email nvarchar(max)
Visitors Table
Id int PK (FK to Users table)
Run Code Online (Sandbox Code Playgroud)
这正是我想要它构建它的方式.现在我的问题是,如果我创建一个User对象并将其保存到数据库,我将如何将其扩展到一个访问者(如果我需要?)我是否需要删除用户并创建一个新的访问者或者我可以将一些用户转换为访问者对象,并且用户表中的条目将保持不变,并且新条目将添加到引用用户的访问者表中?像下面的代码?
Context.Set<User>().Add(new User(){Id=1, Username="Bob", Email="bob@mail.bob"});
Context.SaveChanges(); …
Run Code Online (Sandbox Code Playgroud) 我有一个MVC项目,需要有2个不同的View文件夹.一个是在~/Views/
,一个在~/Framework/Views/
.这是通过基于剃刀视图引擎创建自定义视图引擎来完成的,如下所示:
public class MyViewEngine : RazorViewEngine
{
private static string[] AdditionalViewLocations = new[]{
"~/Framework/Views/{1}/{0}.cshtml",
"~/Framework/Views/{1}/{0}.vbhtml",
"~/Framework/Views/Shared/{0}.cshtml",
"~/Framework/Views/Shared/{0}.vbhtml"
};
public MyViewEngine()
{
base.PartialViewLocationFormats = base.PartialViewLocationFormats.Union(AdditionalViewLocations).ToArray();
base.ViewLocationFormats = base.ViewLocationFormats.Union(AdditionalViewLocations).ToArray();
base.MasterLocationFormats = base.MasterLocationFormats.Union(AdditionalViewLocations).ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我想在2个Views文件夹中的每一个中使用不同的_ViewStart.cshtml文件(即~/Views/_ViewStart.cshtml
对于在~/Views/
文件夹中~/Framework/Views/_ViewStart.cshtml
找到的视图和在文件夹中找到~/Framework/Views/
的视图),但是View Engine只使用它找到的第一个文件.是原来的~/Views/
.
这可能吗?
谢谢
c# ×6
.net ×4
ajax ×2
asp.net ×2
asp.net-mvc ×2
dbcontext ×1
html ×1
http ×1
httpresponse ×1
itext ×1
jquery ×1
json ×1
parsing ×1
razor ×1
sql ×1
sql-server ×1
viewengine ×1
wcf ×1
webmethod ×1
xmlworker ×1