有没有办法为整个应用程序设置或覆盖默认的DateTime格式.我正在用C#.Net MVC 1.0编写一个应用程序,并使用很多泛型和反射.如果我可以将默认的DateTime.ToString()格式覆盖为"dd-MMM-yyyy",那会简单得多.当站点在不同的计算机上运行时,我不希望更改此格式.
编辑 - 只是为了澄清我的意思是专门调用ToString,而不是其他一些扩展函数,这是因为反射/生成代码.更改ToString输出会更容易.
在下面的代码中,我使用Ajax.BeginForm异步发布数据到操作.调用该操作但结果将显示到新的网页.我看了很多例子.这似乎并不困难.我已经使这个例子非常简单地用于概念证明(poc),但我仍然看到一个新的页面显示.
调节器
[HttpPost]
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
public string TestAjax(UserViewModel viewModel)
{
return viewModel.UserName;
}
Run Code Online (Sandbox Code Playgroud)
视图
@model BasicMvc3Example2.Models.UserViewModel
@{
ViewBag.Title = "Index2";
Layout = null;//"~/Views/Shared/_Layout.cshtml";
}
<script src="/BasicMvc3Example2/Scripts/jquery-1.4.4.js" type="text/javascript"></script>
<script src="/BasicMvc3Example2/Scripts/jquery-ui.js" type="text/javascript"></script>
<script src="/BasicMvc3Example2/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/BasicMvc3Example2/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
<h2>Index2</h2>
<script type="text/javascript">
function PostFailure(){
alert("Failure");
}
function PostSuccess(){
alert("Success");
}
function PostOnComplete() {
alert("Complete");
}
</script>
Page Rendered: @DateTime.Now.ToLongTimeString()
@using (Ajax.BeginForm("TestAjax", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "textEntered", OnFailure = "PostFailure", OnSuccess = "PostSuccess", OnComplete = "PostOnComplete" …Run Code Online (Sandbox Code Playgroud) 好的我是Laravel的新手,所以直接进入文档开始.文档中存在大量漏洞,因此需要花费大量精力和谷歌搜索来填补空白才能获得Laravel设置.我现在已经设置并进入快速入门指南的下一步.我创建了我的路线
Route::get('users', function()
{
return 'Users!';
});
Run Code Online (Sandbox Code Playgroud)
现在它说:
Now, if you hit the /users route in your web browser, you should see Users!
Run Code Online (Sandbox Code Playgroud)
所以我打了起来:
http://localhost/laravel/users
Run Code Online (Sandbox Code Playgroud)
但得到404?我试过了
http://localhost/laravel/public/users
Run Code Online (Sandbox Code Playgroud)
但仍然是404?我按照快速入门指南上的步骤,我错过了什么?
我为什么要用LabelFor而不是<label>?
例如.
@Html.LabelFor(model => model.FirstName)
@Html.DisplayFor(model => model.FirstName)
Run Code Online (Sandbox Code Playgroud)
VS
<label for="FirstName">First Name</label>
@Html.DisplayFor(model => model.FirstName)
Run Code Online (Sandbox Code Playgroud)
除此之外,@ pswg已涵盖此问题的DRY方面.我还想知道它是否有助于本地化.即.基于当前语言设置的不同标签.
我正处于一个小型,单页面Web应用程序的"技术选择"阶段,该应用程序将基于AJAX,并将报告给Java后端.
在我几周前发布的上一个问题中,SO社区强烈认为,使用基于Spring MVC的Web应用程序比使用JSF更好.由于Spring是面向请求的,而JSF是面向组件的,所以只使用Spring来获取大量异步请求才有意义.
如果我是去了JSF的路线,然后我的下一组的决定,将是否要使用的视图技术所谓的UI组件库,如PrimeFaces,ICEfaces的或MyFaces的.
所以,我想知道: Spring MVC是否有类似于PrimeFaces(或其喜欢的)为我的页面创建视图组件?我知道它不是基于组件的,但我并不熟悉Spring MVC的Web平台,并且想知道Spring Web开发人员用于构建漂亮网页的事实标准(如果有的话)或典型技术堆栈是什么.
而且,如果Spring只使用run-o-the-mill模板引擎,像Freemarker这样的东西就足够了吗?
我想这对于一个初露头角的Spring Web开发人员来说是一个"最佳实践"类型的问题.
提前致谢!
我正在将一个对象从客户端传递给服务器.在此过程中,表示为string.empty的对象的属性将转换为null.当对象类型支持string.empty时,我想知道如何防止这种情况.

console.log("DataToPost:", dataToPost);
$.ajax({
type: "POST",
contentType: 'application/json'
url: "../../csweb/Orders/SaveOrderDetails/",
data: dataToPost,
success: function (result) {
console.log(result);
},
error: function (e) {
console.error(e);
}
});
Run Code Online (Sandbox Code Playgroud)

我的模型包含可空的DateTime对象.我不能强制服务器上的所有空值到string.empty.
我正在使用AutoMapper,所以我不想在服务器上单独检查属性.
我在将数据导出到Excel时遇到问题.以下似乎将gridview呈现到我的View中,而不是提示用户使用我在我的机器上安装的Excel打开.
Public ActionResult ExportToExcel()
{
var products = this.Repository.Products.ToList();
var grid = new GridView();
grid.DataSource = from p in products
select new
{
Id = p.Id,
Name = p.Name
};
grid.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
return View("MyView");
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
对于ViewBag,我听说这是禁止使用的.我会假设ViewBag中的内容应该合并到视图模型中吗?
题:
我的假设是最佳实践.(不使用ViewBag,第二个在视图模型中使用它)
是否存在绝对需要ViewBag的情况?
有没有人知道Laravel 4将这两条线合二为一的方式?
Route::get('login', 'AuthController@getLogin');
Route::post('login', 'AuthController@postLogin');
Run Code Online (Sandbox Code Playgroud)
因此,而不是不得不写两个你只需要编写一个,因为他们都使用"相同"的方法,但也仍然URL作为site.com/login重定向而不是对site.com/auth/login?
我很好奇,因为我记得CI有类似的东西,其中URL保持不变,控制器永远不会显示:
$route['(method1|method2)'] = 'controller/$1';
Run Code Online (Sandbox Code Playgroud) 我有两个视图模型:
public class ParentViewModel
{
public Id { get; set; }
.....
public ChildViewModel Child{ get; set; }
}
public class ChildViewModel
{
public ChildId { get; set; }
.....
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult Index()
{
.... <some code>
return View("NewIndex", ParentViewModel);
}
[HttpPost]
public ActionResult PartialAction(ChildViewModel childView)
{
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
和观点:指数
@model ParentViewModel
....
@Html.Partial("_Partial", Model.Child)
Run Code Online (Sandbox Code Playgroud)
和_Partial
@model ChildViewModel
... do some stuff with child model
Run Code Online (Sandbox Code Playgroud)
当我试图打开索引页面时,我遇到了错误:
传递到字典中的模型项的类型为"ParentViewModel",但此字典需要"ChildViewModel"类型的模型项.
为什么它尝试传递ParentViewModel而不是ChildViewModel.我做错了什么?
asp.net-mvc ×7
c# ×2
laravel ×2
php ×2
datetime ×1
format ×1
html-helper ×1
java ×1
javascript ×1
jquery ×1
laravel-4 ×1
razor ×1
spring ×1
spring-mvc ×1
viewbag ×1