小编adr*_*dar的帖子

使用循环处理列表,每次获取100个元素,并在列表末尾自动少于100个元素

有没有办法使用一个循环,它取一个大列表中的前100项,与它们做一些事情,然后下一个100等,但当它接近结束时,它会自动缩短"100"步骤到剩余的项目.

目前我必须使用两个if循环:

for (int i = 0; i < listLength; i = i + 100)
{
    if (i + 100 < listLength)
    {
        //Does its thing with a bigList.GetRange(i, 100)
    }
    else
    {
        //Does the same thing with bigList.GetRange(i, listLength - i)
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?如果不是,我将至少使"事物"成为一个函数,因此代码不必被复制两次.

c# loops list range

19
推荐指数
4
解决办法
2万
查看次数

使用滑块来实现div的不透明度

我有一个滑块改变我的div的不透明度值有点麻烦.这是我一直在使用的小提琴:https://jsfiddle.net/yfmLk1ad/1/

$('#bgopacity').on('slide', function(value) {
   $('.background-color').css({
       opacity: value * '.01'
   });
});
Run Code Online (Sandbox Code Playgroud)
.background-color {
    width: 500px;
    height: 500px;
    background: red;
    opacity: .5;
}
Run Code Online (Sandbox Code Playgroud)
<div class="background-color"></div>
<form>
    <label>Color Opacity</label>
    <input type="range" name="bgopacity" id="bgopacity" value="50" min="0" max="100" step="1" onchange="rangevalue.value=value">
    <output id="rangevalue">50</output>
</form>
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

从一个控制器调用方法到另一个控制器时,Session为null ... MVC

我有一个ASP.NET MVC应用程序,我添加了一个新的控制器,并从现有控制器调用这个新控制器的方法.我正在使用会话变量,在控制器A中我调用控制器B中的方法:

if (Session["Grid"] != null){}//session object is fine here
      ControllerB b  = new ControllerB ();
b.CallMethod();
Run Code Online (Sandbox Code Playgroud)

在我控制B的新控制器中,方法如下所示:

public object CallMethod(){
    if (Session["Grid"] != null)//session object is null
        {
            //do my thing
        }
  }
Run Code Online (Sandbox Code Playgroud)

会话变量不是问题,它是会话对象.它完全无效,因此我的应用程序爆炸了.会话在控制器A中运行良好,那么为什么在控制器B中它为空?谢谢

c# asp.net-mvc session

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

如何在ac#类库中使用Ninject

我在MVC Web应用程序中使用了Ninject,没有注入业务逻辑类的任何问题.但我想将数据访问类注入业务逻辑类的构造函数.逻辑层是一个类库,没有Program.cs类或入口点.

数据访问类

 public class DataAccessClass
 {
   public void Insert(Product product)
    {
        new SqlObj().Insert(Product);
    }
 }
Run Code Online (Sandbox Code Playgroud)

数据访问类接口

 public Interface IDataAccessClass()
 {
   void Insert(Product product);
 }
Run Code Online (Sandbox Code Playgroud)

业务逻辑类

 public class ProductLogic()
 {
     IDataAccessClass _dataAccessClass;

    //DataAccessClass should be injected here using Ninject
     public ProductLogic(IDataAccessClass dataAccessClass)
     {
        _dataAccessClass=dataAccessClass;
     }
     public InsertProduct(Product product)
     {
         _dataAccessClass.Insert(product);
     }
 }
Run Code Online (Sandbox Code Playgroud)

这就是我需要的,我有一个3层应用程序,层是:

  • Web:表示层(ASP.NET MVC) - >只看到BLL
  • BLL:业务逻辑层 - >只能看到DAL
  • DAL:数据访问层

因此该Web图层对我的DAL图层一无所知.我有我的存储库接口和具体类DAL,它们BLL在业务逻辑类的层中使用.现在的问题是,为了分离DALBLL,我怎么设置Ninject注入我的仓库实现的BLL层?

c# dependency-injection ninject .net-4.0

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

使用扩展方法替换字符串

如果我有字符串,我想用星号替换该字符串中的最后一个字符.

我试过这个

var myString = "ABCDEFGH";
myString.ReplaceCharacter(mystring.Length - 1, 1, "*"); 

public static string ReplaceCharacter(this string str, int start, int length, string replaceWith_expression)
{
    return str.Remove(start, length).Insert(start, replaceWith_expression);
}
Run Code Online (Sandbox Code Playgroud)

我试图使用此扩展方法,但这不起作用.为什么这不起作用?

.net c#

4
推荐指数
1
解决办法
494
查看次数

在ASP.NET MVC 4 Razor中,如何获得@ Html.Label的值(文本)?

对不起,我试过搜索,但我没有收到任何与我的问题相关的信息.

我的看法:

<legend>COMFIRM</legend>
    @using (Ajax.BeginForm("AdminDeleteResult", "Admin",
                            new AjaxOptions { UpdateTargetId = "div" }))
    {
        <div id="div"></div>
        <h6>ARE YOU SURE WANT TO DELETE</h6>
        <ol>
            <li>
                @Html.Label("User ID:")
                @Html.Label("userid", Model.userid)
            </li>
            <li>
                @Html.Label("Username:")
                @Html.Label(Model.username)
            </li>
        </ol>
        <button>DELETE</button>
    }
</fieldset>
Run Code Online (Sandbox Code Playgroud)

我的控制器:

[HttpPost]
public ActionResult AdminDeleteResult(FormCollection form)
{
     string userid = form["userid"].ToString(); //ERROR HERE
     ...
}
Run Code Online (Sandbox Code Playgroud)

我试图替换Label by @Html.TextBox("userid"),它工作正常.但我想使用Label因为我不希望人们改变它的价值.谢谢您的帮助!

c# asp.net asp.net-mvc razor asp.net-mvc-4

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

C#SqlDataReader关闭方法

以下哪种方法更适合关闭SqlDataReader:

 SqlDataReader reader = comm.ExecuteReader();

 while (reader.Read())
 {
 }
 reader.Close();
 reader.Dispose();
Run Code Online (Sandbox Code Playgroud)

要么

SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
}
Run Code Online (Sandbox Code Playgroud)

或者还有另一种关闭方法?

c# dao sqlcommand sqldatareader

0
推荐指数
1
解决办法
544
查看次数

尝试定义类似于List <T> .ConvertAll(TOutput)的方法

我想定义一个List<T>被调用的扩展方法MergeAll().我希望它从一个类型的列表中获取元素并生成另一个类型的列表.我有一个委托定义为Merger(相当于转换器)

public delegate TOutput Merger<in TInput, out TOutput>(TInput input)
Run Code Online (Sandbox Code Playgroud)

但不能为我的生活弄清楚扩展方法的语法.我的尝试是:

public static List<TOutput> MergeAll<TOutput>(this List<TOutput> output,
    Merger<TOutput, TInput> merger)
Run Code Online (Sandbox Code Playgroud)

然后,身体应该是什么MergeAll样的?

c# linq

0
推荐指数
1
解决办法
147
查看次数

Javascript a.hover不起作用

我采用这个使用javascript的css主题,我有一个问题a.hover(不工作):

http://cssdeck.com/labs/zg4cr9hu

这是我第一次使用javascript,我认为问题来自jquery.min.js我从库中取出的文件...

<head>我在html页面中写道:

<script src="script_intro.js" type="text/javascript"> </script>
<script src="jquery.min.js" type="text/javascript"> </script>
Run Code Online (Sandbox Code Playgroud)

这是错误来自哪里?或者我应该在js文件中放入一些我没有触摸的东西(似乎没有错误)...

在此先感谢您的答案:)

html javascript css jquery

-4
推荐指数
1
解决办法
117
查看次数