小编Soo*_*ead的帖子

无法在ASP.NET MVC3的部分视图中访问ViewBag

我有一个控制器调用视图.在视图中有一个PartialView叫做be @Html.Partial("ViewName", model).this的工作正常.

但是controller我希望在viewbag中添加一些东西,这些东西很难放入view模型中,然后传递给视图.主视图访问没有问题ViewBag,但在PartialView它没有返回任何东西.

是否有可能ViewBag在这种情况下使用或者我应该将这些数据"破解"到我传递给视图的模型中(我传递给PartialView的模型,以及我传递给第一个PartialView嵌套的模型PartialView)?

viewbag asp.net-mvc-3

53
推荐指数
4
解决办法
8万
查看次数

我应该如何检查用户是否在MVC5中进行了身份验证?

我看过以下两个可访问的布尔值:

  • System.Web.Mvc.Controller.User.Identity.IsAuthenticated
  • System.Web.Mvc.Controller.Request.IsAuthenticated

这些之间有区别吗?他们似乎都做同样的事情所以我不确定使用哪个.

我想做的是:

@if (User.Identity.IsAuthenticated) {
  if (User.IsInRole("Admin")) {
    @Html.ActionLink("Admin", "AdminController")        
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

@if (Request.IsAuthenticated) {
  if (User.IsInRole("Admin")) {
    @Html.ActionLink("Admin", "AdminController")        
  }
}
Run Code Online (Sandbox Code Playgroud)

上述任何一种都可以同样好用吗?

c# authentication asp.net-mvc principal

50
推荐指数
1
解决办法
5万
查看次数

在ASP.NET MVC3中的自定义授权属性中使用操作参数

我有一个控制器,只应在加载特定参数时请求授权.例如,当参数ID为8时.

我想到了使用这样的自定义验证属性:

public class MyAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        if (/* Action's inputparameter ID = 8 */)
        {
        return base.AuthorizeCore(httpContext);
        }
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的动作看起来像这样(不是很有趣)

[MyAuthorize]
public ActionResult Protected(int id)
{
    /* custom logic for setting the viewmodel from the id parameter */
    return View(viewmodel);
}
Run Code Online (Sandbox Code Playgroud)

问题是您可以看到我不知道如何在authorize属性中检查该ID参数.你能帮我解决一下吗?

authorization custom-attributes asp.net-mvc-3

22
推荐指数
2
解决办法
1万
查看次数

在asp.net mvc-3中完整URL的url帮助器

写作

@Url.Content("~/Something/Something.html")
Run Code Online (Sandbox Code Playgroud)

用剃刀渲染

/AppFolder/Something/Something.html
Run Code Online (Sandbox Code Playgroud)

有没有办法像http://www.something.com/AppFolder/Something/Something.html没有恶劣的黑客一样呈现完整的URL ?(比如将协议和域存储在其中AppConfig,并将字符串连接到它)

是否有类似@Url.FullPath("~/asdf/asdf")或类似的帮手?

asp.net urlhelper asp.net-mvc-3

22
推荐指数
2
解决办法
1万
查看次数

DataAnnotations如何在MVC中真正起作用?

这更像是一个理论问题.

我目前正在使用ComponentModel.DataAnnotations检查MVC 3验证,一切都在自动运行,特别是在客户端.

某种程度上会检查这些属性,并为验证生成javascript(或html5属性,如果使用不显眼的模式),它可以工作.

我的问题是什么生成客户端javascript以及如何访问和修改它?例如,我想稍微处理给定的dataannotation属性,或处理自定义属性(我发现我可以从ValidationAttribute派生它们,但可能由于某些原因我不想要).

有人可以向我解释一下真正发生了什么吗?(或者链接到好的解释也会很好,因为我只找到了实际使用数据注释的教程)

编辑:此外,从ValidationAttribute派生,客户端验证不会自动运行.为什么?

c# data-annotations asp.net-mvc-3

13
推荐指数
1
解决办法
6819
查看次数

字符串相同如何在JavaScript中工作?

有很多教程==,===所以请不要指导我学习基础教程,我的问题更具体:

例如,http://www.w3schools.com/jsref/jsref_obj_string.asp声明:

句法:

var txt = new String("string");

// or more simply:
var txt = "string";
Run Code Online (Sandbox Code Playgroud)

很好,但是这个呢?

alert(new String("a") == new String("a")); // false
alert("a" == "a"); // true

var a = new String("a");
var b = new String("a");
alert(a == b); // false

var c = "a";
var d = "a";
alert(c == d); // true

alert(c === d); // true
alert (a === c); // false
Run Code Online (Sandbox Code Playgroud)

当然,new String()无论如何都没有人打电话,但它是否因为平等失败而 …

javascript string operators

13
推荐指数
2
解决办法
4398
查看次数

我可以在LESS css中使用url参数吗?

介绍:

我在asp.net mvc环境中尝试LESS.

我使用dotless进行服务器端处理(我不想使用客户端处理,尤其是发布整个项目).

我必须根据不同的事物(例如一天中的时间)应用不同颜色方案的设计.

在这种情况下感觉不那么强大,因为设计一个参数化的css并且只在每个主题的文件开头改变10个变量真的令人振奋.

问题:

但我需要以某种方式从外部参数更改颜色主题.

思路:

首先我认为像style.less?theme = fuschia这样的URL参数会很好,但我发现无法解析这样的东西.

然后我认为制作一个非常短的blue.less,green.less,orange.less只包含声明的颜色变量,并且在每个变量中都包含main.less将是一个可靠的解决方案.

我没有机会尝试第二种解决方案,但我认为这是一个很好的时机,可以就最强大的方式寻求建议.

问题又出现了:我想从外面控制我文件中的一些东西.

asp.net-mvc less dotless

12
推荐指数
2
解决办法
4253
查看次数

typeof new String("aaa")==="object"?一切都是对象,但有原始类型?

会有很多问题需要澄清,所以我会尝试用数字标记它们,以便更容易回应它.

最近我一直在研究javascript.有一个主题是"一切都是对象".

  1. 在我的"javascript解释"中,这意味着在其原型链的开头,一切都有"对象".它是否正确?

  2. 但是,我们的基本类型(string,number,boolean,null,undefined)?他们是对象吗?我可以打个电话"aaa".length.这是如何运作的?

  3. 函数是根据此实现[[Call]]的对象 .那是什么意思?(我认为这是关于fun.call(这个,arg1)的东西,但帮助我理解这一点.

    还有typeof运营商.我之前已将其与MDN联系起来,但有些事情令人困惑.

  4. typeof "aaa" === "string"typeof String("aaa") === "string".这似乎是可以预料的,但String("aaa")会返回什么?我猜它以某种方式解析输入并从中返回一个字符串原语.它是否正确?

  5. typeof new String("aaa") === "object"什么?请向我解释其原型链.我在哪个原型和哪个原型上有"aaa"原始字符串值?它有什么不同typeof String("aaa")

我已经阅读并观看了很多关于这个主题的内容,我认为我需要澄清这些内容.

同样在你的答案中,如果你链接一个外部资源,请总结它的重要部分,并说明它的含义,因为我一直在阅读ecmascript规范,它们很长:).

此外,如果javascript的版本有所不同,请说明.

javascript prototype function object

9
推荐指数
1
解决办法
1937
查看次数

map.setCenter()函数无法正常工作

这是代码......

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var geocoder;
var map;

function initialize() {
    geocoder = new google.maps.Geocoder();        
    var address = "new delhi";

    geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {        
            var latitude = results[0].geometry.location.lat();
            var longitude = results[0].geometry.location.lng();
            alert(latitude);
            alert(longitude);
            map.setCenter(new GLatLng(latitude, longitude));

            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });
            var latlng = new google.maps.LatLng(latitude, longitude);
            var mapOptions = {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            }
            map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
        } 
    });
    google.maps.event.addDomListener(window, …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

7
推荐指数
1
解决办法
5万
查看次数

来自2个或更多其他缓存项的CacheDependency.(ASP.NET MVC3)

我对asp.net中可能的cachedependencies有点疑惑,我不知道如何使用它们.

我想以某种方式向HttpRuntime.Cache添加项目,如果我更改缓存中的其他元素,则元素应该无效.依赖关系应该由密钥定义.

我想要一个这样的函数:

public MyObject LoadFromCache(string itemDescriptor, IEnumerable<string> dependencies)
{
    var ret = HttpRuntime.Cache[itemDescriptor] as MyObject;
    if (ret == null)
    {
        ret = LoadFromDataBase(itemDescriptor);

        //this is the part I'm not able to figure out. Adding more than one dependency items.
        var dep = new CacheDependency();
        dependencies.ForEach(o => dep.SomeHowAdd(o));

        HttpRuntime.Cache.Add(
            itemDescriptor, 
            ret, 
            dependencies, 
            System.Web.Caching.Cache.NoAbsoluteExpiration, 
            System.Web.Caching.Cache.NoSlidingExpiration, 
            Caching.CacheItemPriority.Normal, 
            null
        );
    }
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

帮助我解决这个问题.

asp.net caching cache-dependency asp.net-mvc-3

6
推荐指数
1
解决办法
1998
查看次数