有没有办法使用一个循环,它取一个大列表中的前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)
有没有更好的方法呢?如果不是,我将至少使"事物"成为一个函数,因此代码不必被复制两次.
我有一个滑块改变我的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)
我有一个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中它为空?谢谢
我在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
图层对我的DAL
图层一无所知.我有我的存储库接口和具体类DAL
,它们BLL
在业务逻辑类的层中使用.现在的问题是,为了分离DAL
和BLL
,我怎么设置Ninject注入我的仓库实现的BLL
层?
如果我有字符串,我想用星号替换该字符串中的最后一个字符.
我试过这个
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)
我试图使用此扩展方法,但这不起作用.为什么这不起作用?
对不起,我试过搜索,但我没有收到任何与我的问题相关的信息.
我的看法:
<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因为我不希望人们改变它的价值.谢谢您的帮助!
以下哪种方法更适合关闭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)
或者还有另一种关闭方法?
我想定义一个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
样的?
我采用这个使用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文件中放入一些我没有触摸的东西(似乎没有错误)...
在此先感谢您的答案:)