我有一个控制器动作方法,它看起来像这样:
public ActionResult testMethod(int id)
{
//do something...
//return something...
return View();
}
Run Code Online (Sandbox Code Playgroud)
但是当我指定它应该是一个"Post"方法时,我得到一个'404 not found error':
[HttpPost]
public ActionResult testMethod(int id)
{
//do something...
//return something...
return View();
}
Run Code Online (Sandbox Code Playgroud)
我在同一个控制器中有其他控制器动作方法 - POST和GET,它们工作正常.但这一个不?这是怎么回事?(我确定我在这里遗漏了一些明显的东西...)
更新:ajax调用请求控制器方法:var id = 1;
$.ajax({
url: '/indices/testMethod/',
data: id,
type: 'POST',
success: function (data) {
//Do something
}
});
Run Code Online (Sandbox Code Playgroud)
我也尝试用Postman测试方法,确保发送POST请求.
更新2:我已经尝试将参数更改为id,并尝试确保所有方法和url位置都大写以匹配,但没有任何影响.
在Fiddler中,我可以看到实际上正在进行GET请求,即使我在ajax调用中指定了POST请求,所以现在我需要找出为什么请求最终作为GET而不是POST发送.
我也尝试过包含属性路由描述,就像这样
[HttpPost]
[Route("indices/TestMethod/{id:int}")]
public ActionResult TestMethod(int id)
Run Code Online (Sandbox Code Playgroud)
然后用不同的url尝试了ajax调用:
$.ajax({
url: '/indices/TestMethod/1',
data: id,
type: 'POST',
success: function (data) {
var tr = 123;
var yr …Run Code Online (Sandbox Code Playgroud) 我刚刚运行了一个"更新版本"来从SQL Server 2008 R2 Express更新到Enterprise.我首先运行了更新版本过程,然后单独添加了Analaysis Services组件.所有这些进程都运行时没有报告任何错误
当我打开SQL Server配置管理器时,我可以在"SQL Server服务"下看到Analysis Services正在运行.
但是,当我启动SQL Server Management Studio并进入"连接到..."对话框时,在"服务器类型"下拉列表中,我没有选择"Analysis Services"的选项(我得到的只是"数据库")引擎"和"SQL Server Compact").这意味着我实际上无法连接到Analysis Services服务器,即使它似乎正在运行.
是否有任何建议,或者我需要更改什么才能使Management Studio"看到"Analysis Services服务器?
在ASP.Net中,我试图在Login控件的LoggedIn事件中获取刚刚登录的用户的UserId(即用户GUID).也就是说,我希望在用户移动到下一页之前抓取UserId.这是我正在使用的代码:
Protected Sub Login1_LoggedIn(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Login1.LoggedIn
Dim UserId As String
UserId = Membership.GetUser.ProviderUserKey.ToString()
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个"对象引用没有设置为对象的实例"错误.当我在后续页面中使用它时,当登录用户访问这些页面时,相同的代码也能正常工作.