小编led*_*per的帖子

从外部html文件加载handlebars.js模板不显示任何内容

这个问题有点像我的JS技能,所以我可能会像白痴一样解释它.

这是我从服务器获取json的JavaScript,并尝试将其推送到模板中:

    //Server Interface Start
//Access the web api for The User:
var lucidServer = (function () {
    //global error handler
    $(document).ajaxError(function (event, xhr) {
        alert(xhr.status + " : " + xhr.statusText);
    });
    //client Calls
    var getClients = function (id) {
        return $.ajax(clientUrl + "/list/" + id)
    };
    var getClient = function (id) {
        return $.ajax(clientUrl + "/details/" + id)
    };

    //push them out to the world!
    return {
        getClients: getClients,
        getClient: getClient,
    };
}());
//Server Interface End

(function () …
Run Code Online (Sandbox Code Playgroud)

html javascript mustache handlebars.js

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

ViewModel没有在POST方法中传递回控制器

简单的问题,但我无法弄清楚缺少什么.我有一个简单的ViewModel(它会变得更大):

public class TigerTrackingViewModel
{
    public TigerTrackingViewModel()
    {
         this.TigerTrail = new TigerTrail();
    }
    public Guid YouthGuid { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public TigerTrail TigerTrail { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

TigerTrail是一个嵌套对象.以下是所有属性和子属性:

public class TigerTrail
{
    public TigerTrail()
    {
        DoneDate = new DateTime(1950, 01, 01);
        TigerTrailRequiredBadges = new Collection<TigerTrailRequiredBadge>();
        TigerTrailElectivedBadges = new Collection<TigerTrailElectiveBadge>();
    }
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Name { get; set; …
Run Code Online (Sandbox Code Playgroud)

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

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

无法获得asp.net MVC4 DropDownList()以获得预设值

我没有看到任何关于如何通过ViewBag做到这一点的答案.(我知道我们都讨厌ViewBag,我应该使用ViewModel.不过我的问题,我需要知道如何在不设置ViewModel的情况下完成它).

这是我的控制器设置为页面的GET请求:

var states = Ctx.States.ToList()
            .Select(state => new SelectListItem
            {
                Text = state.Name,
                Value = state.Name
            }).OrderBy(x => x.Text).ToList();

ViewBag.SelectedStateOne = new SelectList(
                        states, 
                        "Text", 
                        "Value", 
                        user.Applicant.FinancialAidInformation.FinancialAidContacts
                        .ElementAtOrDefault(0).Address.State.Name);

ViewBag.SelectedStateTwo = states;
Run Code Online (Sandbox Code Playgroud)

我正在以两种不同的方式设置viewbag.两种方式似乎都正确地绑定下拉,并正确地回发所选值.但是当我回到页面时,默认选择不是数据库中的值.

在我看来:

@Html.DropDownList("SelectedStateOne", null, new { @class = "form-control" })
@Html.DropDownList("SelectedStateTwo", null, new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

相同的下降,但显示两者,以避免混淆我猜.我认为我使用SelectedStateOne viewbag数据做的是设置默认值的正确方法,但没有骰子.我哪里错了?

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

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

不知道如何遍历(n)C#中嵌套对象的数量

我查看了这篇文章,看看我是否可以将其作为起点,但我不认为它解决了我的特定问题.C#:N For循环

我有以下代码:

int criteriaCount = rule.SearchCriteria.Criteria.Count();
string criteria = "";
        for (int i = 0; i < criteriaCount; i++)
        {
            if (rule.SearchCriteria.Criteria[i].Criteria.Count() > 0)
            {
                criteria += string.Format("({0}" + System.Environment.NewLine, rule.SearchCriteria.Criteria[i].Display);
                criteria += string.Format("{0})" + System.Environment.NewLine, rule.SearchCriteria.Criteria[i].Criteria[i].Display);
            }
            else
            {
                criteria += string.Format("[{0}]" + System.Environment.NewLine, rule.SearchCriteria.Criteria[i].Display);
            }
        }
Run Code Online (Sandbox Code Playgroud)

为了解释一下,你有SearchCriteria和Array of Criteria [].我可以遍历这个并从每个Criteria对象中获取我需要的跟随,你可以看到我在做什么.

我也在深入研究二级,所以SearchCriteria.Criteria [n] .Criteria [n]和我可以放置一个for循环,并在那里抓取任何嵌套值.

我无法弄清楚的部分是如何解释可变数量的嵌套Criteria对象?我可能有这个:

SearchCriteria.Criteria[n].Criteria[n] ... (repeat a hundred times)... .Criteria[n]
Run Code Online (Sandbox Code Playgroud)

因此,它可能具有无限数量的嵌套对象,以及无数个兄弟对象(Criteria [0],Criteria [1] ...... Criteria [100000]就是我的意思).

有没有办法可以循环使用这一切?我听说过一个递归循环可能就是答案,我模糊地理解这个概念,但我不知道的是我怎样才能得到孩子和兄弟姐妹的数量?

c# asp.net recursion loops

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

Paypal IPN回来时无效,不知道为什么

这是我的设置,我会尽量保持代码简短.这是一个ASP.NET MVC4应用程序

我在这里设置信息:

    @Html.Hidden("cmd", Model.PayPal.Cmd)
@Html.Hidden("business", Model.PayPal.Business)
@Html.Hidden("return", Model.PayPal.Return)
@Html.Hidden("cancel_return", Model.PayPal.CancelUrl)
@Html.Hidden("notify_url", Model.PayPal.NotifyUrl)
@Html.Hidden("currency_code", Model.PayPal.CurrencyCode)
@Html.Hidden("item_name", Model.PayPal.PlanName)
@Html.Hidden("item_number", Model.Id)

@Html.Hidden("src", Model.PayPal.AutoRecurring)
@Html.Hidden("a3", Model.PayPal.Price)
@Html.Hidden("p3", Model.PayPal.Interval)
@Html.Hidden("t3", Model.PayPal.IntervalType)
@Html.Hidden("txn_type", "subscr_signup")
<input type="image" name="submit"
    src="https://www.paypalobjects.com/en_US/i/btn/btn_subscribe_LG.gif"
    alt="PayPal - The safer, easier way to pay online">
<img alt="" border="0" width="1" height="1"
    src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif">
Run Code Online (Sandbox Code Playgroud)

我在控制器中设置变量:

PayPal paypal = new PayPal();
        bool useSanbox = true;

        if (useSanbox)// for test
            paypal.ActionUrl = "https://www.sandbox.paypal.com/cgi-bin/webscr";
        else//real
            paypal.ActionUrl = "https://www.paypal.com/cgi-bin/webscr";

        paypal.Cmd = "_xclick-subscriptions";
        paypal.Business = "david_1355300634_biz@domain.com";
        paypal.CancelUrl = "http://localhost:25914/home/";
        paypal.Return = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc paypal paypal-ipn

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

有关使用asp.net mvc4应用程序设置iis7的正确教程

我的工作有一些专用的Web服务器(Server 2008R2,IIS7).目前在这里完成的所有事情都是asp.net webforms.对于一个新项目,我想最终将它们介绍给MVC.我在VS2013中创建了一个vanilla MVC应用程序.我走了一些不同的网站,并在我的本地IIS上设置(完整,不是快递)就好了.我可以点击'localhost'并查看我创建的网站.我正在使用Web部署,它运行得很好.

之后我转到了我们的开发服务器.我将它设置为相同(即iis中的新网站,使用适当凭据设置的Web部署等).从VS发布工作.在开发服务器上,我看到那里的所有文件,但在服务器上的IIS中(通过RDP会话)我无法浏览到它.它没有给我404或503错误,Internet Explorer只是告诉我它找不到地址.

根据我经历过的许多文章,我做了以下工作:

  1. aspnet_regiis.exe -i(32位和64位)
  2. 确保服务器安装了Web Deploy 3.5和Web Deploy工具2.1.
  3. 在我的web.config中添加了一些行(见下文)****.
  4. 确保服务器安装了.net 4.5和mvc.

毕竟,它仍然不会显示我的网站.我错过了什么?我很乐意找到一个教程,让我逐步完成宝贝步骤,但我所看到的一切都假定你已经设置了x和y,或者你已经知道了IIS的背面.

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule-4.0" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
Run Code Online (Sandbox Code Playgroud)

iis asp.net-mvc webdeploy

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

Linq发布查询两个数据集

这是我正在使用的代码:

        Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>();
        Collection<ServiceItem> serviceItems = new Collection<ServiceItem>();

        serviceItems  = from si in serviceItems
                        join cw in workOrder on si.ServiceKey equals cw.Key
                        select new { si };

        foreach (ServiceItem item in serviceItems)
            ctrl.Items.Add(...);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.ObjectModel.Collection<ServiceItem>'
Run Code Online (Sandbox Code Playgroud)

我相信这有望成为一个简单的解决方案,但我无法弄清楚.这背后的逻辑是我需要根据传递给此方法的密钥查找工作订单,然后获取工作订单所具有的所有服务项并迭代它们以将它们放入组合框中.

c# linq asp.net

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

C#:尝试在foreach循环中添加填充到一个int抛出错误

试图完成一些基本的事情,但我可能会以错误的方式尝试解决方案.

我有一个DB生成ID.出于显示目的,他们希望它看起来像这样:

00001
00002
00003
...
04521
etc
Run Code Online (Sandbox Code Playgroud)

所以在我呈现ID的页面中,我正在尝试进行基本的字符串操作(String.PadLeft),它给了我一个编译错误.

An object reference is required for the non-static field, method, or property 'string.PadLeft(int, char)'
Run Code Online (Sandbox Code Playgroud)

我会诚实地说,我不确定那个错误告诉我什么,除此之外'你的代码不会这样工作'

这是基本代码.它和ASP.NET MVC4视图:

@foreach (var item in Model.Projects)
{
    char pId = Convert.ToChar(item.ProjectId);
    string requestWithPad = String.PadLeft(5, paddingChar: pId);
    <tr>
        <td>
            @Html.ActionLink(requestWithPad, "Edit", new { id = item.ProjectId }, new { @class = "btn btn-inverse btn-block" })
        </td>
        ....
}
Run Code Online (Sandbox Code Playgroud)

我想我想做的很简单,我只知道我没有在正确的地方做,所以我应该在哪里做?

注意:我知道这很容易通过更改标识插件在sql server中的工作方式来实现,由于各种原因,这对我来说不是一个选项.

c# asp.net string asp.net-mvc

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

C#SqlCommand没有使用参数发送正确的查询

这是一个非常简单的问题,但是我找不到解决方案(甚至不确定在这里用谷歌搜索哪个问题)。

这是我创建命令的代码:

var targetStartDate = "October 2014";//ConfigurationManager.AppSettings["StartDateString"].ToString(CultureInfo.InvariantCulture);
var acceptedStatusCodes = 4;//ConfigurationManager.AppSettings["ImportStatusIds"].ToString(CultureInfo.InvariantCulture);
using (var connection = new SqlConnection(connString))
{
    using (var cmd = connection.CreateCommand())
    {
        cmd.CommandText = @"
                            SELECT
                            ai.FirstName, 
                            ai.LastName, 
                            ai.Email, 
                            ai.SSN, 
                            ai.Phone,
                            ai.Program, 
                            r.FirstName + ' ' + r.LastName AS RepName, 
                            d.Name AS StartDateName, 
                            s.CvId AS CvSySchoolStatusId,
                            ai.CampusId as SyStudentId
                            FROM     
                            dbo.aspnet_Users AS u LEFT OUTER JOIN
                            dbo.ApplicantInfo AS ai ON u.UserId = ai.UserId LEFT OUTER JOIN
                            dbo.AdmissionReps AS r ON ai.AdmissionsRepId = r.RepId LEFT OUTER JOIN
                            dbo.ProgramStartDate AS …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

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

找不到asp.net web api 2属性路由

我在一个名为的API控制器中有这个路由Recruiting:

 ResponseType(typeof (int))]
 [Route("Recruiting/setprimary/")]
 public async Task<IHttpActionResult> PutUpdatePrimary(string userId, string orgId)
 {
     return Ok();
 }
Run Code Online (Sandbox Code Playgroud)

我试图通过像ajax这样的路由:

 self.updatePrimary = function () {
    var orgKey = self.selectedOrgKey();
    alert(orgKey);
    $.ajax({
        type: "PUT",
        contentType: "application/json; charset=utf-8",
        url: "/Recruiting/setprimary/" + "?userId=" + userId + "&?orgId=" + orgKey,
        data: null,
        dataType: "json",
        success: function (data) {
            bootbox.alert('Changes saved successfully.');
        },
        error: function (err) {
            bootbox.alert('An error occured while trying to set primary organisation. Please try again :/');
        }
    });
    return true;
};
Run Code Online (Sandbox Code Playgroud)

提琴手说它无法找到路线.这里有什么问题?

asp.net asp.net-web-api

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