有很多关于ASP.Net MVC错误的询问 "抱歉,处理您的请求时出错".不幸的是,我找不到任何真正讨论真实情况的东西.可以理解的是,他们关注的是潜在的错误,而不是消息的直接来源和原因.因此,这些解决方案为同一问题提供了广泛不同的答案
这里有一些例子:
http://forums.asp.net/t/1661793.aspx/1/10?Sorry+an+error+occurred+while+processing+your+request+
http://forums.gbpvr.com/showthread.php?53184-Sorry-an-error-occurred-while-processing-your-request
基于我研究过的许多答案中的堆栈跟踪数据,似乎可以在System.Web.Mvc.ControllerActionInvoke类中触发.通常看起来是执行ActionResult方法中未处理错误的直接结果.
我想在邮件中理解"处理您的请求"这个术语.基于我看到错误显示的方式,这似乎不太可能是指HTTP请求.也许在MVC架构中更细粒度的东西?有人可以更清楚地了解这条消息的来源以及原因吗?
我有一个使用CSV文件导入产品的Asp.net MVC 3.5应用程序.CSV文件可以来自特定的可配置源组.要配置新的CSV源,用户最初会指定哪些CSV列映射到哪些产品属性.此配置将存储为导入模板,并在执行每次导入后可供选择.
我试图计划此功能的文件夹/对象结构时遇到了问题.我理解(并且喜欢)Asp.net MVC的灵活性,所以我知道我们可以做任何事情.但是,我想任何有助于我们保持对象结构更健全和可维护的建议.
最初我设置了一个包含Import.aspx视图的Product文件夹.这似乎足够适合控制器/动作模型.但是,当我考虑用于管理上述模板的功能时,事情会变得混乱.
编辑:导入模板可以应用于不同的对象.因此,Product只是一个可以为其创建一个或多个ImportTemplates的对象.例如,可能具有ImportTemplate的另一个对象可以是Customer.
我应该在Product文件夹下创建一个名为ImportTemplate的子文件夹并将CRUD视图放在那里吗?然后,我将为导入模板功能添加自定义路由.我关心的是文件夹深度以及与兄弟动作导入的混淆.或者ImportTemplate是否应该升级,然后使用路由将其放在Product文件夹下?听起来很乱.
也许文件夹结构应该是Product/Import/Template.我在这种情况下看到的问题是Import实际上不是一个对象.我可以看到它是一个控制器但它真的意味着行动.如果我使用这个结构,我应该在Import文件夹中放置一个Upload.aspx视图(以替换上面提到的Product/Import.aspx)?这似乎变得有点笨重.
编辑:由于上面添加的要求,ImportTemplate可以与Product(即Customer)以外的对象相关联,最好将ImportTemplate文件夹直接放在Views文件夹下吗?
构建此对象/文件夹层次结构的任何其他想法?
为了研究这个问题,我回顾了有关文件夹结构和深度的问题.这里有几个问题有答案,但实际上没有提供我的问题的答案.
编辑:用户定期从第三方导入产品列表.他们正在从CSV文件导入数据,该文件将上传到网站.他们在其帐户中创建/添加产品导入模板的实例.此模板实例存储以下设置:
不同的用户可能具有基于不同的第三方CSV格式或基于他们自己的系统配置的不同规则(即,他们没有像上面的用户那样设置未知类别).
我已经搜索并尝试了所有的东西,但无法想出这个.我想做一些简单的事情,但好像我做错了什么.基本上,任何已经存款的用户,我想要返回true,如果他们没有,我想返回false.我想这应该很容易,但我对此感到难过.
这是错误:
ConnectionString属性尚未初始化.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.InvalidOperationException:尚未初始化ConnectionString属性.
来源错误:
Line 59: Cmd.Parameters.AddWithValue("@UserID", userId);
Line 60: con.Open();
Line 61:
Line 62: result = (int)Cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪的顶部:
[InvalidOperationException:ConnectionString属性尚未初始化.] System.Data.SqlClient.SqlConnection.PermissionDemand()+ 4879939 System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)+20 System.Data.ProviderBase.DbConnectionClosed.OpenConnection( DbConnection outerConnection,DbConnectionFactory connectionFactory)+117 System.Data.SqlClient.SqlConnection.Open()+122
这是我返回true或false的方法:
public static bool HasDeposit(int userId)
{
int result = 0;
//since executeScalar is intended to retreive only a single value
//from a query, we select the number of results instead of the email address
//of each matching result.
string queryTransaction = "SELECT COUNT(UserID) FROM Transaction WHERE TransactionTypeID = …Run Code Online (Sandbox Code Playgroud) 我试图将 data.js 文件中的步骤显示为节点,并尝试连接这些边。但边缘仅可见。在页面中。我使用了 [react-flow-renderer] 包1。
当我刷新页面时,边缘甚至一秒钟都看不见。
我的反应组件
import React, { Component } from 'react'
import data from '../data'
import ReactFlow, {addEdge} from 'react-flow-renderer'
export class Pro2 extends Component {
constructor() {
super()
this.state = {
steps:data.map((step, index) => ({ id: step.id, data: {label: step["step-name"] }, position: {x: 500, y:100 * (index + 1)}})),
tasks:[],
sedges: data.slice(0, data.length - 1).map((step, index) => ({id:"e"+step.id+data[index+1].id, source: step.id, target: data[index+1].id, animated: true}))
}
console.log(this.state.steps, this.state.sedges)
this.handleChange = this.handleChange.bind(this)
}
handleChange(t) {
//console.log("clicked...............clicked …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×2
architecture ×1
asp.net ×1
c# ×1
import ×1
javascript ×1
methods ×1
oop ×1
react-class-based-component ×1
react-flow ×1
reactjs ×1