我一直在关注列表框的一些指导并尝试正确处理选择.什么是困扰我,我似乎无法找到相关的材料是访问所选的值.可能只有一个被选中,但最有可能一次选择多个.
我的帖子控制器正在获取对象模型,它具有所选项目之一的值但不是全部的值?我是否需要在帖子之前运行一些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
我一直在读Wooncherk,Twisted Whisperer和Alex 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) 我在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:
<Exercise>
<AccountName>John Bonner</AccountName>
<UserID>8008008</UserID>
Run Code Online (Sandbox Code Playgroud)
换句话说,我不需要在浏览器中看到这些数据,而是在应用程序中访问和解析它,所以直接使用XML就可以了.
我在服务装饰上做错了什么来返回这个编码的xml?
我现在正在编写一些非常差的代码,在我保存它之前,我希望得到一些改进它的输入.我正在尝试构建一个每行有三个单元格的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) 我有以下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匿名类型,但不确定究竟要将其更改为什么?
请注意,为了简洁起见,我没有包含大量代码,认为它不需要理解,但我很乐意在需要时编辑它.
谢谢
我有一张包含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,所以它们被删除了?
感谢您对我的补救问题的耐心等待.
我知道问题所在:我缺少一个映射来帮助 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 并且它是父表 …
我有一个无法在实验室/开发环境中重现的问题。
测试版用户在文件复制过程中报告以下错误。
System.IO.DirectoryNotFoundException:找不到路径“C:\ProgramData...”的一部分
有问题的代码行是:
Directory.CreateDirectory(path);
Run Code Online (Sandbox Code Playgroud)
现在我猜测这里发生的事情是这样的。Directory.CreateDirectory 将操作交给操作系统。在我的测试和开发机器上有大量资源,操作系统会立即创建目录。
在测试版用户的计算机上,它面临更多的资源挑战,并且它不会在几毫秒内创建目录......甚至可能是一整秒。
与此同时,我的应用程序已继续运行,并期望该文件夹在那里。文件.CopyTo(路径, true);
我的第一个问题是我是否正确地将这些点连接起来。
第二个问题是如果是的话我该怎么处理?
使应用程序休眠并监视文件夹创建标志的操作系统事件,然后继续。这似乎是一个复杂的解决方案。
睡眠应用程序。启动一个新线程来探测该文件夹。当它存在时杀死线程然后继续。也许不是一个新线程,但主线程上有相同的想法?
这似乎是一个简单的问题,其他人已发布,但答案仍然没有找到我.具体来说,我已经反复通过这两个(这里和这里)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) 我正在完成一个教程,我理解正在教授的内容,示例代码的工作原理如上所述.但我错过了一个难题,那就是工厂如何知道使用哪个"创造"....所以我想我不明白所教的一切.
在尝试研究时,我遇到了这篇文章,但由于他们的情况略有不同,因此没有回答我的"它是怎么知道"的问题.
_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# ×6
asp.net-mvc ×2
razor ×2
asp.net ×1
facebook ×1
html5 ×1
javascript ×1
linq ×1
nopcommerce ×1
sql ×1
sql-server ×1
t-sql ×1
wcf ×1
wcf-rest ×1