我有一个控制器,其动作方法如下:
public class InventoryController : Controller
{
public ActionResult ViewStockNext(int firstItem)
{
// Do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到一个错误说明:
参数字典不包含参数'firstItem'的类型'System.Int32'的有效值.要使参数可选,其类型应为引用类型或Nullable类型.
我让它在某一点工作,我决定尝试没有参数的功能.发现控制器不是持久的我将参数重新放入,现在它在调用方法时拒绝识别参数.
我正在使用此url语法来调用该操作:
http://localhost:2316/Inventory/ViewStockNext/11
Run Code Online (Sandbox Code Playgroud)
任何想法为什么我会得到这个错误以及我需要做些什么来解决它?
我已经尝试添加另一个方法,该方法将一个整数带到类中,它也因为同样的原因而失败.我尝试添加一个带字符串的字符串,并将字符串设置为null.我已经尝试添加一个没有参数,并且工作正常,但当然它不适合我的需要.
我知道在ASP.NET MVC中使用服务器端控件是禁忌,但我们有一长串的水晶报告,该公司已经为之前的应用程序生成了我想要用于新ASP的水晶报告. NET MVC应用程序.
是否有适当的方法在ASP.NET MVC中使用水晶报表?如果是这样,怎么样?
我正在构建一个ASP.NET MVC应用程序,它将具有自定义角色和成员资格提供程序.我一直在寻找管理工具来节省一些时间,WSAT已经跨越了我的道路.它看起来很好看,它是所有开源的,如果它不起作用非常简单我可以自己解决它.
第一个问题是你们中的任何一个人过去都使用WSAT作为产品系统.是否值得,我应该考虑一下,有什么理由不使用它?
第二个问题,有谁知道WSAT与自定义提供商的合作有多好?
感谢您的反馈意见.
我们有一个外部托管的SVN存储库,我们的构建服务器当前是内部的.由于网络中断,超时或其他一些随机原因,构建服务器偶尔(可能每天1或2次)无法找到SVN存储库.使用外部托管的存储库很难避免,但是当它无法找到SVN存储库时,它无法构建!
我想找到一种方法让它在下一个时间间隔再次尝试,并忽略与未解决的存储库相关的任何错误.有谁知道我怎么做到这一点?
我已经发布了我的配置以供参考.
<project name="MyProject" queuePriority="0">
<workingDirectory>C:\RemovedForPost</workingDirectory>
<artifactDirectory>C:\RemovedForPost </artifactDirectory>
<sourcecontrol type="svn">
<trunkUrl>http://RemovedForPost \</trunkUrl>
<workingDirectory>source</workingDirectory>
<username>myuser</username>
<password>*****</password>
</sourcecontrol>
<triggers>
<intervalTrigger name="BuildAMinute" seconds="60" buildCondition="IfModificationExists" />
</triggers>
<tasks>
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>C:\RemovedForPost</workingDirectory>
<projectFile>C:\RemovedForPost\RemovedForPost.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Build</targets>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
<timeout>120</timeout>
</msbuild>
<nunit>
<path>C:\Program Files\NUnit 2.5\bin\net-2.0\nunit-console.exe</path>
<outputfile>C:\RemovedForPost.xml</outputfile>
<assemblies>
<assembly> RemovedForPost </assembly>
</assemblies>
<timeout>60</timeout>
</nunit>
</tasks>
Run Code Online (Sandbox Code Playgroud)
谢谢
我环顾四周,我正试图找到一个优雅的解决方案,我还没找到一个.我在.NET中有一个ASMX Web服务,我试图调用它需要参数.
我在客户端使用jQuery来调用服务,我的jQuery代码看起来像这样:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "/Reviews/HotelReview.asmx/SubmitReview",
data: "{'name': '" + name + "', " +
"'info': '" info + "'}",
processData: true,
beforeSend: function() { startSubmit(); },
complete: function() { submitComplete(); },
error: function(xhr) { submitError(xhr); },
success: function(msg) { submitSuccess(msg.d); }
});
Run Code Online (Sandbox Code Playgroud)
它工作得非常好,除非名称或信息包含'字符,单引号.很简单,因为我的JSON定义了字段值的结尾并且是单引号.当这些字段中的任何一个包含单引号时,我得到的只是"内部服务器错误",但是使用Fiddler的进一步检查向我显示了结果(我不打算发布它们),表明单引号问题.
我暂时放置了一些东西来删除客户端上的单引号并将它们放回服务器端,但这远非优雅.有没有更优雅的方法来逃避这些单引号,以便我的代码可以工作?
使用Log4Net进行日志记录时,将调用日志的类放入日志文件中非常容易.我在过去发现,这使得跟踪代码并查看类中的流程变得非常容易.在Log4Net中,我在转换模式中使用%logger属性,如下所示:
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
Run Code Online (Sandbox Code Playgroud)
这给了我想要的输出:
2008-09-19 15:40:26,906 [3132] ERROR <b>Log4NetTechDemo.Tester</b> [(null)] - Failed method
您可以从输出中看到调用日志的类是Log4NetTechDemo.Tester,因此我可以很容易地将错误追溯到该类.
在Logging Applicaton Block中,我无法通过简单的日志调用来弄清楚如何执行此操作.有谁知道怎么做?如果是这样,那么这样做的一个例子或步骤将非常有帮助.