我正在研究'ASP.NET MVC 4'应用程序.我正在使用/学习SimpleMembershipProvider,并尝试坚持VS2012使用Internet template(如果我没有记错的话,创建的默认逻辑,开箱即用的'SimpleMembershipProvider').
我被困在AccountController我无法想象的地方,我怎么能使用这个方法:
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,整个想法是重定向到您决定登录的位置(正是我想要完成的).我看了一下它在视图中的使用方式:
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
Run Code Online (Sandbox Code Playgroud)
寻找一个实际ViewBag.ReturnUrl设置了一些值的地方,我这里只有这个方法:
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
Run Code Online (Sandbox Code Playgroud)
而且我对我应该如何获得位置/网址感到非常困惑.我设置了一些断点,我从来没有见过returnUrl不同的东西null,在这种情况下对我来说似乎很合乎逻辑,因为它在任何地方都没有价值(除非我当然错过了一些东西).
所以我真的无法弄清楚这是如何工作的.我发布以上内容只是为了表明我试图做我的作业,我尽可能多地调查,但我没有找到答案所以我在这里问.你能提供关于它如何实际工作的解释/例子吗?
我正在开发一个ASP.NET MVC 4应用程序.我EF 5首先使用代码并在我的一个实体中使用:
public string ImageName { get; set; }
public string ImageGUIDName { get; set; }
Run Code Online (Sandbox Code Playgroud)
那两个属性是我实体的一部分.因为我可能没有图像上传这些值可以为null,但是当我通过渲染模型与视图ImageName和ImageGUIDName未来作为null从数据库中我得到这个:
Exception Details: System.ArgumentNullException: Value cannot be null.
基本思路是根据事实是否有图片为用户提供不同的文本:
@if (Model.ImageName != null)
{
<label for="Image">Change picture</label>
}
else
{
<label for="Image">Add picture</label>
}
Run Code Online (Sandbox Code Playgroud)
因此,当上面的代码让我得到了我尝试过的错误string.IsNullOrEmpty(Model.ImageName),Model.ImageName.DefaultIfEmpty() != null但我也得到了完全相同的错误.似乎我不能只将y实体属性设置为可空:
public string? ImageName { get; set; } //Not working as it seems
Run Code Online (Sandbox Code Playgroud)
那我怎么处理这个呢?
我刚刚开始阅读"Pro Spring MVC with web flow",它附带了一个我想要遵循的代码示例.
GradleGradle过,当我尝试执行我想要的时候我必须得到这个错误Task 'build' not found in root projectGradle从官方网站下载并开始工作.今天当我真正尝试执行本书中的步骤时,事实证明示例代码附带了它自己的Gradle分布,并且我执行了它,我认为这样可以获得Gradle的第二个分发版.但是我不知道这可能是一个问题.现在我的示例代码目录如下所示:

然后它写了我必须执行../gradlew build我执行这样的并获得以下内容:

appendixA-bookstore文件夹以防Gradle将所有目录识别为不同的构建但没有成功.Gradle设置中做到这一点,就像我昨天写的那样,以及我应该怎么做才能使用我的新的原始Gradle设置来使用这个示例代码?我想使用LINQ查询从我的数据库表中选择2个元素,我看到一个使用UNION我没有太多经验的例子,但我认为这可能是我需要的但是我得到一个我无法解决的错误,我是不管怎样,不确定它是否可以修复.所以这是我的查询:
IList<String> materialTypes = ((from tom in context.MaterialTypes
where tom.IsActive == true
select tom.Name)
.Union(from tom in context.MaterialTypes
where tom.IsActive == true
select (tom.ID))).ToList();
Run Code Online (Sandbox Code Playgroud)
其中,因为它似乎在抱怨试图使用UNION上IQueryable有IEnumarebale.我尝试通过添加ToString()这样来修复它- (tom.ID).ToString这导致清除错误下划线Visual-Studio-2010但在运行时我得到:
{"LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression."}
Run Code Online (Sandbox Code Playgroud)
Ty,Leron.
我正在开发一个asp.net mvc 3应用程序.我正在使用数据库中的数据动态构建表.我有一个特例,当一行中的第三列/单元格是下拉列表时:
<select name="YesNoNotApplicable" class="YesNoNotApplicable">
<option value="1">Yes</option>
<option value="2">No</option>
<option value="3">Not Applicable</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,第四列/单元格保持为空,并且如果用户在第四单元格中选择3(不适用),则应该显示文本框,其中用户可以写入附加信息.我对JS和jQuery知之甚少,但是我发现如何从下拉列表中获取所选值:
$(document).ready(function () {
$('.YesNoNotApplicable').change(function () {
alert($('.YesNoNotApplicable').val());
});
});
Run Code Online (Sandbox Code Playgroud)
但现在我需要检查警报我是否需要检查值是否为3(这是我自己可以自己去的)以及显示/隐藏或追加/删除下一个单元格中的文本框,或者我们是否在DOM中进行讨论.
那么我如何导航到class = YesNoNotApplicable旁边的那个,以及处理这个文本框的最佳方法是什么 - 把它放在我正在创建表格然后显示/隐藏它或处理它的时候在运行时使用它并追加/删除它,我怎么能这样做?
我的问题是基于一个真正的项目问题,但我从未使用过该System.Threading.Tasks库或执行任何涉及线程的严肃编程,因此我的问题可能是缺乏对特定库的了解以及对异步实际意味着什么的更普遍的误解.节目.
所以我的真实情况就是这个 - 我需要获取有关用户的数据.在我目前的情况下,它是财务数据,所以假设我需要所有人Accounts,所有人Deposits和所有人Consignations.在我的情况下,这意味着查询每个属性的数百万条记录,并且每个查询本身相对较慢,但是获取它Accounts比获取数据慢几倍Deposits.所以我已经为我要使用的三种银行产品定义了三个类,当我想获取某些用户的所有银行产品的数据时,我做了类似这样的事情:
List<Account> accounts = GetAccountsForClient(int clientId);
List<Deposit> deposits = GetDepositsForClient(int clientId);
List<Consignation> consignations = GetConsignationsForClient(int clientId);
Run Code Online (Sandbox Code Playgroud)
所以问题从这里开始我需要同时获取所有这三个列表,因为我要将它们传递给我显示所有用户数据的视图.但正如现在一样,执行是同步的(如果我在这里正确使用这个术语),那么收集所有三种产品的数据的总时间是:
Total_Time = Time_To_Get_Accounts + Time_To_Get_Deposits + Time_To_Get_Consignations
Run Code Online (Sandbox Code Playgroud)
这不好,因为每个查询都比较慢,所以总时间很长,但是,accounts查询比其他两个查询花费的时间要多得多,所以今天进入我脑海的想法是 - "如果我能执行怎么办?这同时查询".也许这是我对这个主题的最大误解,但对我而言,最接近这个想法是让它们异步,所以也许Total_Time不会是最慢查询的时间,但是会比所有三个查询的总和快得多.
由于我的代码很复杂,我创建了一个简单的用例,我认为,反映了我想要做的很好.我有两种方法:
public static async Task<int> GetAccounts()
{
int total1 = 0;
using (SqlConnection connection = new SqlConnection(connString))
{
string query1 = "SELECT COUNT(*) FROM [MyDb].[dbo].[Accounts]";
SqlCommand command = new SqlCommand(query1, connection);
connection.Open();
for (int …Run Code Online (Sandbox Code Playgroud) 我正在玩EF不同的工作流程.昨天我做了一个新项目并且Entity Framework 6是第一个建议,Nuget所以我决定尝试一下,这也是一个非常小的项目完全用于学习目的所以我想这将是一个很好的经验,EF 6因为我一直在工作Ef 5.
我的应用程序基于Code First方法.解决方案的结构显示在打印屏幕中:

该项目CodeFirstClasses旨在持有我的Entites.为了简单起见,因为我遵循教程,我只使用一个课程,你可能会看到 - Customer.cs.我有:
public class RewardContext : DbContext
{
//Specify the name of the base as Rewards
public RewardContext() : base("Rewards")
{
}
//Create a database set for each data item
public DbSet<Purchase> Purchases { get; set; }
public DbSet<Customer> Customers { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
而其他类- Purchase和Customer它是微不足道的,因此我将他们在这里不糊.
您可以看到的另一个项目是Windows Forms只有一个表单和按钮的项目.在click按钮事件中,我拥有将新记录添加到硬编码的两个实体的所有逻辑.这只是其中的一部分:
//some code...
//Add …Run Code Online (Sandbox Code Playgroud) entity-framework ef-code-first visual-studio-2012 entity-framework-6
我有一个字符串构建形式逗号分隔值我split用来获取每个值,然后我想在新行上显示每个值,但真正发生的是我得到的每一个值都在新行上,除了显示的最后两个在同一条线上.只是为了说清楚:
值1
,值2
,值3
,值4,值5
这是我正在使用的功能:
_checkDates: function(dates) {
if (dates != null)
{
var zzz = dates.split(',');
var xxx = zzz.length;
console.log(xxx);
for (var i=0; i<=xxx; i++)
{
zzz[i] = zzz[i] + '<br />';
return zzz;
}
}
return dates;
}
Run Code Online (Sandbox Code Playgroud)
为了清楚这是用ExtJS 4编写的,我几乎可以肯定,在这种情况下,问题是纯JavaScript并且与ExtJS 4无关,但无论如何,也许我错了.
所以任何想法为什么会发生,以及我如何能够让最后的元素进入新线?
谢谢
Leron
我有两个项目的解决方案.我只是标记了解决方案并检查了它,现在所有文件左侧都有蓝色挂锁的小图像,这显然意味着它们被标记为只读.
我一直只和Tortoise SVN一起工作,这是我第一次检查TFS,为什么会发生这种情况,或者如果这里的答案太复杂,至少我怎么能返回我的文件状态(整个解决方案可能)正常.
此外,我一直在努力寻找一个关于如何从Visual Studio 2012使用/执行TFS基本任务的良好阅读/教程,因此如果有人可以分享关于该主题的良好信息来源,那将非常感激.
我正在努力实施AutoResetEvent.出于这个目的,我使用一个非常简单的类:
public class MyThreadTest
{
static readonly AutoResetEvent thread1Step = new AutoResetEvent(false);
static readonly AutoResetEvent thread2Step = new AutoResetEvent(false);
void DisplayThread1()
{
while (true)
{
Console.WriteLine("Display Thread 1");
Thread.Sleep(1000);
thread1Step.Set();
thread2Step.WaitOne();
}
}
void DisplayThread2()
{
while (true)
{
Console.WriteLine("Display Thread 2");
Thread.Sleep(1000);
thread2Step.Set();
thread1Step.WaitOne();
}
}
void CreateThreads()
{
// construct two threads for our demonstration;
Thread thread1 = new Thread(new ThreadStart(DisplayThread1));
Thread thread2 = new Thread(new ThreadStart(DisplayThread2));
// start them
thread1.Start();
thread2.Start();
}
public static void …Run Code Online (Sandbox Code Playgroud)