返回true而不是True从Controller 返回View.
我将一个布尔值存储到变量中,该布尔值指示产品是否存在于购物车/摘要中.
要实现这一点,我正在做以下事情:
[...]
IsAdded = sessionStore.CheckExistanceOnSummary(product.productId)
[...]
Run Code Online (Sandbox Code Playgroud)
但是,当我IsAdded在View上显示其值时,返回的是True或False- 而JavaScript正在期待true或false.
我需要的是发送true或false代替C#发送的这种方式.
我已经尝试为此更改上面的代码片段:
IsAdded = (sessionStore.CheckExistanceOnSummary(product.productId) ?
"true" :
"false")
Run Code Online (Sandbox Code Playgroud)
但调试器返回以下错误:
错误5无法将类型'string'隐式转换为'bool'
执行CheckExistanteOnSummary是:
public bool CheckExistanceOnSummary(Nullable<int> productId)
{
List<Products> productsList =
(List<Products>)Session[summarySessionIndex];
if (productsList.Where
(product => product.id == (int)productId).FirstOrDefault() == null)
return false;
else
return true;
}
Run Code Online (Sandbox Code Playgroud)
我读了这个主题,但没有帮助我.
我想在添加一些用户时在我的视图中显示一些消息.
当我们的模型出现问题时,有一个方法(ModelState.AddModelError)来处理不成功的消息.但是,当事情顺利的时候,我们怎样才能向用户说出他的行动是否成功?
我发现这个线程提供了解决方案,但大约三年过去了,我需要知道:没有其他方式,也许更成熟?不是这不是,但我们仍然以同样的方式处理成功的信息?
我想用C#.Net的Razor Engine复数单词.我正在使用MVC 4.
我有以下内容:
<button class="button light-blue filled compare float-right"
title="This product is available in @Model["NumberOfMarketsThatHaveThisProduct"]
market(s)">
Compare
</button>
Run Code Online (Sandbox Code Playgroud)
我不想使用"市场",而是"市场"或"市场".
<button class="button light-blue filled compare float-right"
title="This product is available in @Model["NumberOfMarketsThatHaveThisProduct"]
@if((int)@Model["NumberOfMarketsThatHaveThisProduct"] == 1)
{
@: market
} else {
@: markets
}">
Compare
</button>
Run Code Online (Sandbox Code Playgroud)
但我觉得这样做并不舒服.
我该怎么办?
获得产品的最低价格.
为了说明我的问题:
第1行
Product_Id= 1Product_Name="iPhone 5"Market_Name="沃尔玛"Product_Original_Price="359.00"Product_Promotional_Price="319.00"Product_State= 1(正在提供)第2行
Product_Id= 1Product_Name="iPhone 5"Market_Name="Apple"Product_Original_Price="359.00"Product_Promotional_Price="0.00"Product_State= 0(不提供)第3行
Product_Id= 1Product_Name="iPhone 5"Market_Name="BestBuy"Product_Original_Price="359.00"Product_Promotional_Price="299.00"Product_State= 1(正在提供)
下一个话题的查询(我有什么)将返回我零如上图所示问题的最优惠的价格-但最好的价格299.00,通过BestBuy,因为在零Product_Promotional_Price意味着该产品是不是要约.
SELECT
MIN(LEAST(`Product_Original_Price`, `Product_Promotional_Price`)) as `minProductPrice`
[...]
Run Code Online (Sandbox Code Playgroud)
我的查询:
SELECT `pr`.`Product_Id` as `productId`,
`pr`.`Product_Name` as `productName`,
ROUND(CAST(MIN(`map`.`Product_Original_Price`) AS DECIMAL)/100,2) …Run Code Online (Sandbox Code Playgroud) 我想知道@Scripts.Render("~/something.js")和之间的区别<script type="text/javascript" src="/something.js"></script>.
是的,我已经搜索了这个主题,但没有成功.我认为如果@Scripts.Render存在不是偶然的.
我的意思是:当我应该使用其中一个或为什么时.
获取a返回的每个结果之一foreach.
看看下面的Razor代码片段:
@foreach (var product in Model.Collection.Products)
{
<p>@product.name</p>
}
Run Code Online (Sandbox Code Playgroud)
返回客户端是:
Xbox 360
Xbox 360
Xbox 360
Xbox 360
Playstation 3
Playstation 3
Playstation 3
现在,让我解释一下:我的应用程序比较了不同商店的产品价格.就我而言,四个商店中有Xbox 360,而三个商店中存在Playstation 3 - 这就是他们的名字重复的原因.
我想要的很简单:只需一次填写每个产品的名称来填充HTML的表格栏 - 你们都能理解吗?
每个产品都在Session上添加.在我们的例子中,会议有两种产品 - 第一种是产品Xbox 360,第二种是产品Playstation 3.所以,正如你所看到的,我可以使用Session来处理这个问题("对于Session上的每个项目,做一些事情......"),但我认为没有必要,因为我总是必须在数据库,按逻辑,它返回我需要的东西.换句话说,除了临时存储用户需要的内容之外,我不需要使用会话.
该Model.Collection.Products是类型List<Products>.
像这样的东西:
@foreach (var product in Model.Collection.Products.FirstOrDefault())
{
[...]
}
Run Code Online (Sandbox Code Playgroud)
但是,当然不成功.基本上我需要类似的东西FirstOfEach().
创建一些在Razor中将字符串转换为友好字符串的东西(我正在使用C#/ MVC4)
我有以下代码:
<li>
<img
src="~/Images/Products/@Model["CategoryName"]/@Model["ProductThumbnailUrl"]"
/>
</li>
Run Code Online (Sandbox Code Playgroud)
我的类别的名称是:CDs, DVDs and Bluray我希望连接为"友好字符串",就像cds-dvds-and-blurays使用这样的东西:
<li>
<img
src="~/Images/Products
/@HtmlHelper.ConvertToFriendlyString(@Model["CategoryName"])
/@Model["ProductThumbnailUrl"]"
/>
</li>
Run Code Online (Sandbox Code Playgroud)
你们都明白了吗?
那么,有人有任何想法吗?
提前致谢.
获取触发函数的元素.
看我的代码:
<span data-bind="ifnot: ProductLayout.existsAtSummary()">
<button class="btn btn-success btn-small add"
title="Adicionar à lista de comparação">
<i class="icon-plus"></i>
</button>
</span>
<span data-bind="if: ProductLayout.existsAtSummary()">
<button class="btn btn-danger btn-small remove"
title="Remover da lista de comparação">
<i class="icon-remove"></i>
</button>
</span>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我触发existsAtSummary()功能时,if和ifnot是真还是假.
但是这些按钮在foreach中,我需要让它们的元素一起工作,我不知道如何.
我的JS:
function ProductLayoutViewModel() {
var self = this;
self.existsAtList = function () {
return true;
};
}
ko.applyBindings(new ProductLayoutViewModel());
Run Code Online (Sandbox Code Playgroud)
在JSFiddle上查看我的代码.
我在想这个:
self.existsAtList = function (element) {
console.log(element); // returns me 'undefined'
return …Run Code Online (Sandbox Code Playgroud) 我想在我的视图中显示存储过程的结果.
实体框架为我自动导入了一个执行程序的方法,但是我没有得到我期望在屏幕上显示的结果.
导入的功能是:
public virtual ObjectResult<getProductsListForHome_Result> getProductsListForHome(Nullable<int> inOffer, Nullable<int> categoryId)
{
var inOfferParameter = inOffer.HasValue ?
new ObjectParameter("inOffer", inOffer) :
new ObjectParameter("inOffer", typeof(int));
var categoryIdParameter = categoryId.HasValue ?
new ObjectParameter("categoryId", categoryId) :
new ObjectParameter("categoryId", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<getProductsListForHome_Result>("getProductsListForHome", inOfferParameter, categoryIdParameter);
}
Run Code Online (Sandbox Code Playgroud)
在ProductsController上:
//
// GET: /Products/
public ActionResult Index()
{
ObjectResult<getProductsListForHome_Result> products = db.getProductsListForHome(1, 14);
return View(products.ToList());
}
Run Code Online (Sandbox Code Playgroud)
使用前面的代码,当我访问时,http://myapp.com/Products/我收到以下消息:
传递到字典中的模型项的类型为'System.Collections.Generic.List
1[MyApp.Models.getProductsListForHome_Result]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable1 [MyApp.Models.bm_products]'.
我该怎么做才能解决这个问题?
c# mysql stored-procedures entity-framework entity-framework-5
根据期望值更改模型.
我有我的方法ProductsController叫Category.当有人请求此方法时,可能会发生两件事:如果传递给方法的参数不同Daily-Offers,则会将一种类型的列表传递给View.如果传递给方法的参数等于Daily-Offers,则将另一种类型的列表传递给View.
为了更好地理解,请参阅:
[HttpGet]
public ActionResult Category(string categoryName = null)
{
int? categoryId = categoryName != "Daily-Offers" ?
Convert.ToInt32(Regex.Match(categoryName, @"\d+").Value) :
(int?)null;
if (categoryName == "Daily-Offers")
{
var productsList = Products.BuildOffersList();
ViewBag.Title = String.Format("Today's deal: ({0})", DateTime.Now);
ViewBag.CategoryProductsQuantity = productsList.Count;
ViewBag.CurrentCategory = "Daily-Offers";
return View(productsList);
}
else if (Regex.Match(categoryName, @"\d+").Success &&
String.Format("{0}-{1}",
categoryId,
CommodityHelpers.UppercaseFirst
(CommodityHelpers.GenerateSlug
(Categories.GetDetails((sbyte)categoryId).Category_Name)))
== categoryName)
{
ViewBag.Title = Categories.GetDetails((sbyte)categoryId).Category_Name;
ViewBag.CategoryProductsQuantity =
Categories.GetDetails((sbyte)categoryId).Category_Products_Quantity;
ViewBag.CurrentCategory =
CommodityHelpers.UppercaseFirst(CommodityHelpers.GenerateSlug …Run Code Online (Sandbox Code Playgroud) c# ×8
razor ×4
asp.net ×2
mysql ×2
asp.net-mvc ×1
javascript ×1
jquery ×1
knockout.js ×1
sql ×1