小编GPG*_*GVM的帖子

MVC ListBox多选在post上的控制器中只有一个值

我一直在关注列表框的一些指导并尝试正确处理选择.什么是困扰我,我似乎无法找到相关的材料是访问所选的值.可能只有一个被选中,但最有可能一次选择多个.

我的帖子控制器正在获取对象模型,它具有所选项目之一的值但不是全部的值?我是否需要在帖子之前运行一些jquery,正如其他文章所说的那样?似乎不对,但也许......

我的模特:

public partial class ExtrnlSubsModel : BaseEntityModel
{
    public IList<SelectListItem> AvailableForums { get; set; }
    public int ExtForumId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的剃刀:

@Html.ListBoxFor(model => model.ExtForumId, Model.AvailableForums, new { style = "width:500px;height:250px" })
@Html.RequiredHint()
@Html.ValidationMessageFor(model => model.ExtForumId)
Run Code Online (Sandbox Code Playgroud)

我的控制器:

[HttpPost]
public ActionResult ExtForumAdd(ExtrnlSubsModel model)
{ .... }
Run Code Online (Sandbox Code Playgroud)

因此,正如我所提到的,我的模型已经填充,但只有一个选择,尽管有ctrl点击了很多项目.

TIA

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

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

非常接近但不能完全覆盖核心视图nopcommerce

我一直在读Wooncherk,Twisted WhispererAlex Wolf的一些非常好的帖子.他们的文章分别(Wooncherk),(Twisted Whisperer)(Alex Wolf)提供了非常丰富的信息,但是我不像其他SO社区那样聪明,也不能把我所缺少的东西拼凑起来.

我正在覆盖管理区域中的核心视图...特别是订单编辑视图.我看到的行为,它并打控制器我的插件,但它DOES显示我的自定义视图.问题是自定义视图在Admin项目中,这真让我感到困惑.如何拥有自包含的插件,但必须将我的自定义视图安装到核心管理区域?

我想,也许是错误的,会发生的事情是,由于我更高的定义优先级,我的控制器会在搜索路径时首先被击中.

所以遵循这里的指示是我的代码.

CustomViewEngine:


private readonly string[] _emptyLocations = null;

    public CustomViewEngine()
    {
        PartialViewLocationFormats = new[]
        {
            "~/Administration/MyExtension/Views/{1}/{0}.cshtml",
            "~/Administration/MyExtension/Views/Shared/{0}.cshtml"
        };

        ViewLocationFormats = new[]
        {
            "~/Administration/MyExtension/Views/{1}/{0}.cshtml",
            "~/Administration/MyExtension/Views/Shared/{0}.cshtml"
        };
    }


    protected override string GetPath(ControllerContext controllerContext, string[] locations, string[] areaLocations, string locationsPropertyName, string name, string controllerName, string theme, string cacheKeyPrefix, bool useCache, out string[] searchedLocations) 
    {
        searchedLocations = _emptyLocations;
        if (string.IsNullOrEmpty(name)) 
        { …
Run Code Online (Sandbox Code Playgroud)

c# nopcommerce asp.net-mvc-4

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

WCF REST Svc GET返回HTML

我在WCF中组装了一个简单的REST服务:

....
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml, UriTemplate = "{uid}/{pwd}/{exrcsPrgmId}/{exchEnum}")]
string GetLiftDataExchange(string uid, string pwd, string exrcsPrgmId, string exchEnum);
....
Run Code Online (Sandbox Code Playgroud)

在调用它时,我并没有完全恢复XML.我得到了HTXML(我自己编写的缩写词)

而不是我期望的:

<Exercise>
  <AccountName>Joe Muscle</AccountName>
  <UserID>8008008</UserID>
Run Code Online (Sandbox Code Playgroud)

我用HTML编码获取XML:

&lt;Exercise&gt;&#xD;
  &lt;AccountName&gt;John Bonner&lt;/AccountName&gt;&#xD;
  &lt;UserID&gt;8008008&lt;/UserID&gt;&#xD;
Run Code Online (Sandbox Code Playgroud)

换句话说,我不需要在浏览器中看到这些数据,而是在应用程序中访问和解析它,所以直接使用XML就可以了.

我在服务装饰上做错了什么来返回这个编码的xml?

wcf wcf-rest

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

在循环/ foreach MVC视图中动态生成表

我现在正在编写一些非常差的代码,在我保存它之前,我希望得到一些改进它的输入.我正在尝试构建一个每行有三个单元格的html表.如果集合有5个项目,则应该呈现为两行.

到目前为止我写的代码我看得不是很强大,需要不断维护,但我不确定完成任务的其他工具/方法.

<table>
    @foreach (VideosModel item in Model)
    {
        if (cellCount == 0 || cellCount == 3)
        { 
            @Html.Raw("<tr>") 
        }
           <td style="padding:0px 20px;">
                @item.VideoTitle <br />
                <a href="@item.VideoUrl" target="_blank">
                    <img src="../../.../Video.jpg" /> <br />
                </a>
                @item.VideoDescription
                <br />
            </td>

        cellCount++;

        if (cellCount == 3 || cellCount == 6)
        { 
            @Html.Raw("</tr>") 
        }

        if (cellCount > 3) { cellCount = 0; }
    }
</table>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc html5 razor asp.net-mvc-3

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

将LINQ匿名类型转换为IList <>时出错

我有以下LINQ加入:

var query = _ABC.Table
            .Join(_DEF.Table, cef => ...etc... })
            .Join(_GHI.Table, extf => ...etc...})
            .Select(jcefn=> new { XYZ = jcefn....etc...});
Run Code Online (Sandbox Code Playgroud)

linq很好并且返回我期望的(在LINQ pad中验证).

我试图将查询传递给具有此签名的扩展方法:

public PagedList(IQueryable<T> source, int pageIndex, int pageSize)
{ ... }
Run Code Online (Sandbox Code Playgroud)

所以我认为这是可以接受的:

var FPaged = new PagedList<MyObject>(query.ToList(), pageIndex, pageSize);
Run Code Online (Sandbox Code Playgroud)

但这显然不会让编译器感到高兴.它说:

参数1:无法从'System.Collections.Generic.List'转换为'System.Linq.IQueryable等.

显然我需要更改我的linq匿名类型,但不确定究竟要将其更改为什么?

请注意,为了简洁起见,我没有包含大量代码,认为它不需要理解,但我很乐意在需要时编辑它.

谢谢

c# linq

3
推荐指数
2
解决办法
1372
查看次数

为什么选择在varchar比较中消除NULL记录

我有一张包含782,856条记录的表格.此表中有一列PEOPLE_TYPE是varchar(20).我不认为表模式很重要,但如果确实如此,我很乐意发布它.

它具有这些不同的值(parens是每种类型的计数):

NULL (782,101)
ANONYMOUS (1)
BOARD (530)
USER (224)
Run Code Online (Sandbox Code Playgroud)

那么为什么这个选择返回这些结果?

select * from people where PEOPLE_TYPE != 'BOARD'
Run Code Online (Sandbox Code Playgroud)

这返回225行... USER&ANONYMOUS ....为什么不包括我的空值...因为我现在已经执行了文本搜索并且无法真正比​​较NULL,所以它们被删除了?

感谢您对我的补救问题的耐心等待.

sql t-sql sql-server

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

无效的列名称 *Id

我知道问题所在:我缺少一个映射来帮助 EF 了解两个表之间的关系,但我没有看到我的错误在哪里。

我有一个使用 EF CF 7 的 Web Api。我可以很好地查询并获取父表数据,但是当我尝试包含相关子数据时,我收到无效列错误。

我的两个表如下所示:

public class Categories
{
    private ICollection<SubCategories> _subcat;
    public int Id { get; set; }
    public string Category { get; set; }
    public virtual ICollection<SubCategories> SubCategories
    {
        get { return _subcat ?? (_subcat = new List<SubCategories>()); }
        set { _subcat = value; }
    }
}

public class SubCategories
{
    public int Id { get; set; }
    public string SubCategory { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

上面的类与我的数据库模式匹配,除了SubCategories 表有一列 CategoryId 并且它是父表 …

c# entity-framework

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

Directory.CreateDirectory 导致 System.IO 错误 文件写入速度太快

我有一个无法在实验室/开发环境中重现的问题。

测试版用户在文件复制过程中报告以下错误。

System.IO.DirectoryNotFoundException:找不到路径“C:\ProgramData...”的一部分

有问题的代码行是:

Directory.CreateDirectory(path);
Run Code Online (Sandbox Code Playgroud)

现在我猜测这里发生的事情是这样的。Directory.CreateDirectory 将操作交给操作系统。在我的测试和开发机器上有大量资源,操作系统会立即创建目录。

在测试版用户的计算机上,它面临更多的资源挑战,并且它不会在几毫秒内创建目录......甚至可能是一整秒。

与此同时,我的应用程序已继续运行,并期望该文件夹在那里。文件.CopyTo(路径, true);

我的第一个问题是我是否正确地将这些点连接起来。

第二个问题是如果是的话我该怎么处理?

  1. 使应用程序休眠并监视文件夹创建标志的操作系统事件,然后继续。这似乎是一个复杂的解决方案。

  2. 睡眠应用程序。启动一个新线程来探测该文件夹。当它存在时杀死线程然后继续。也许不是一个新线程,但主线程上有相同的想法?

c#

3
推荐指数
2
解决办法
1315
查看次数

如果用户已登录,请隐藏FB登录按钮

这似乎是一个简单的问题,其他人已发布,但答案仍然没有找到我.具体来说,我已经反复通过这两个(这里这里)SO问题,我只是没有与我的情况联系.

对我来说,我以为我会在div中包含登录按钮,然后根据登录状态更改div可见性.div确实改变了可见性,但fb登录按钮仍然可见???

这是我在div中包装登录按钮的代码:

....snip....
<div id="fblogin">
    <table align="center" style="text-align:center;">
        <tr>........</tr>
        <tr>
            <td>
                <div id="fb-root"></div>
                    <span id="fb-login">
                        <div
                            class="fb-login-button"
                            onlogin="afterFbLogin()"
                            data-show-faces="false"
                            data-width="200"
                            data-max-rows="1"
                            data-scope="publish_stream">
                        </div>
                    </span>
............snip.............
Run Code Online (Sandbox Code Playgroud)

这是我的FB.Init并检查登录状态:

window.fbAsyncInit = function () {
    FB.init({
        appId: '352810974851050',        // App ID
        channelUrl: '//www.domain.com/channel.html',
        status: true, // check login status
        cookie: true, // enable cookies 
        xfbml: true // parse page for xfbml or html5 like login button below
    });

    // Put additional init code here
    FB.getLoginStatus(function (response) {

        if (response.status …
Run Code Online (Sandbox Code Playgroud)

javascript facebook facebook-javascript-sdk

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

该模型工厂如何知道使用哪种方法?

我正在完成一个教程,我理解正在教授的内容,示例代码的工作原理如上所述.但我错过了一个难题,那就是工厂如何知道使用哪个"创造"....所以我想我不明白所教的一切.

在尝试研究时,我遇到了这篇文章,但由于他们的情况略有不同,因此没有回答我的"它是怎么知道"的问题.

_modelFactory.Create(f)令我感到困惑.

这是正在执行的代码

_modelFactory = new ModelFactory();
...snip....


public IEnumerable<FoodModel> Get(bool includeMeasures = true)
{
  IQueryable<Food> query;

  if (includeMeasures)
  { query = _repo.GetAllFoodsWithMeasures(); }
  else
  { query = _repo.GetAllFoods(); }

  var results = query.OrderBy(f => f.Description).Select(f => _modelFactory.Create(f));

  return results;
}
Run Code Online (Sandbox Code Playgroud)

在模型工厂中有两个创建

public class ModelFactory
{
   public FoodModel Create(Food food)
   {
     return new FoodModel()
     { ... };
   }

   public MeasureModel Create(Measure measure)
   {
      return new MeasureModel()
      { ... };
   }
}
Run Code Online (Sandbox Code Playgroud)

是否存在一些隐式关联,因为"查询"属于Food类型而modelFactory表示哦,我将使用FoodModel,因为这是食物的实体表示?

c# factory-pattern

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