您的位置:首页 > 编程语言 > ASP

Asp.Net MVC4的学习概况

2017-07-06 17:09 225 查看
周一正式开始了毕业工作。然后学习调试了近4天,刚刚总算在同事的帮助下做出了一个基于Asp.Net MVC4的Hello World显示。

这是一篇最为基础的记录教程,记录内容可能有点混乱,旨在能在刚调试完成,趁着印象深刻急速记录,晚些会重新做一遍这个项目写一个更为详细的博文。

下面是正文:

整个网站项目由若干个功能子项目组成。而我要做的是自己做一个口香糖demo混在原项目中。所以基础的配置我就先不说了。首先复制别的子项目一份并且重命名为Aibol.Sugar,并且导入visual studio。导入后的项目如下图所示。

namespace Aibol.Modules.Sugars
{
class SugarModule: IAibolModule, IAibolDataProvider
{
private readonly IUnityContainer _container;

public SugarModule(IUnityContainer container)
{
_container = container;
}

//fixed
public void Initialize()
{
}

//fixed
public void Unload()
{
}

//fixed
public void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Sugars",//路由名称
"sugars",//带有参数的url
new {Controller="Sugar",action="Sugars"},//指定控制器以及默认参数值
null
);
}

//fixed
public void RegisterCatchAllRoutes(RouteCollection routes)
{
}

//sth problems
public void RegisterFilters(IFilterRegistry filterRegistry)
{
filterRegistry.Add(Enumerable.Empty<IFilterCriteria>(),typeof(SugarActionFilter));
var contentItemsInputCriteria=new ControllerActionFilterCriteria();
contentItemsInputCriteria.AddMethod<SugarController>(p=>p.list(null));
filterRegistry.Add(new[] {contentItemsInputCriteria},typeof(GridActionFilter));
}

//fixed
public void RegisterModelBinders(ModelBinderDictionary modelBinders)
{
}

public void RegisterWithContainer()
{
//在这里注册Service
_container
.RegisterType<ISugarService, SugarService>();
}

public void ConfigureProvider(AibolConfigurationSection config, AibolDataProviderConfigurationElement dataProviderConfig,
IUnityContainer container)
{

var connStr = !string.IsNullOrEmpty(dataProviderConfig.ConnectionString)
? dataProviderConfig.ConnectionString
: config.Providers.DefaultConnectionString;

var connParam=new ResolvedParameter<string>(connStr);
if (dataProviderConfig.Category == "LinqToSql")
{
//在这里注册Repository
container.RegisterType<SugarDataContext>(new TransientLifetimeManager(),
new InjectionConstructor(connParam)).RegisterType<ISugarRepository, SugarRepository>();

}
}

}
}


View Code

9.在主项目目录Views下创建Sugar文件夹,在里面创建前端展示页面Sugars.cshtml。

10.在主项目config里分别在各个节点加入如下代码:

在dataProviders中加入如下内容:

<add name="Sugars" type="Aibol.Modules.Sugars.SugarModule, Aibol.Sugars" category="LinqToSql" />


在modules中加入如下内容:

<add name="Sugars" type="Aibol.Modules.Sugars.SugarModule, Aibol.Sugars" dataProvider="Sugars" />


11.运行项目,跑一把,下面是浏览截图。- -;



花了四天总算把一个Hello口香糖写出来。很感谢我同事啊,不厌其烦的教我😂感觉自己蠢爆天😂

一些相关的小知识:

Alt+Enter可以直接进行代码整理和提示。

在coding.net可以注册git账号然后同步项目代码。

在类名或者方法上按F12可以跳转到该类或者该方法的定义位置。

调试过程中,F10是该代码页面依次执行(不会进入方法进行细分调试)。F11是依次执行每一行代码(如果遇到方法,会进入该方法逐步调试)

Debug->Windows->Threads,可以在调试中对线程进行锁定等操作。

如果发现项目无法调试,很可能你的调试模式调成了Release,把它调整为Debug就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: