小编Kee*_*eno的帖子

仍然可以在ASP.NET mvc中使用Session变量,或者是否有更好的替代方法(如购物车)

我有一种情况,我需要访问几个页面上的购物车.因此,在产品页面上 - 创建购物车添加一些项目在购物车结帐页面 - 确认帐单地址在购物车结帐帖子 - 做最后检查,添加购物车到数据库,然后去付款

我的问题是,什么是最好的方式绕过购物车?

我已经尝试将购物车从页面传递到回发并保持所有值仍然存在,但是在某些页面(帐单地址确认页面)这看起来很麻烦,我想要检查的是帐单地址并且真的不想要吨在页面上的HiddenFor()再次填充购物车

TempData []是我用于产品结账页面的内容,然后想知道最好继续设置TempData ....

你可以使用会话变量吗?

出于某种原因,我读到了使用Session的不太好的做法,因此问题.

感谢您的指导,如果您认为有用,我很乐意提供一些代码/更多信息.

asp.net-mvc session asp.net-mvc-3

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

串行化Mongo ObjectId时出现JSON.NET错误

我正在玩MongoDB并且有一个带有mongodb ObjectId的对象.当我使用.NET Json()方法将其序列化时,一切都很好(但日期太可怕了!)

如果我尝试使用JSON.NET序列化程序,它在尝试序列化ObjectID时会给我一个InvalidCastException

任何想法发生了什么,以及如何解决这个问题?

using MongoDB.Driver;
using MongoDB.Bson;
using Newtonsoft.Json;

//this is a route on a controller
   public string NiceJsonPlease()
    {

        var q = new TestClass();
        q.id = new ObjectId();
        q.test = "just updating this";

        return JsonConvert.SerializeObject(q);
    }

    //simple test class
    class TestClass
    {
        public ObjectId id; //MongoDB ObjectID
        public string test = "hi there";
    }


Exception Details: System.InvalidCastException: Specified cast is not valid.
Run Code Online (Sandbox Code Playgroud)

如果您更改控制器方法以使用.NET附带的序列化程序,它可以正常工作(但是,这个给出了丑陋的日期,blugh)

public JsonResult NiceJsonPlease()
    {

        var q = new TestClass();
        q.id = new ObjectId();
        q.test …
Run Code Online (Sandbox Code Playgroud)

c# json.net mongodb

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

HTML 5视频,流媒体/缓冲仅限较长视频的某一部分

我们有一段很长的视频,长达1小时.我们希望向用户展示此视频的30秒小块.视频在任何时候都不会断断续续.

然后用户无法跳转到视频的其余部分,他们只能看到30秒的块.

一个例子就是说,一场足球比赛,整个比赛都在视频上,但是点击另一个页面中的一个按钮会加载完整的视频并只播放一个目标.

HTML5视频可以实现吗?它与TimeRanges有什么关系吗?视频是否必须通过纯流媒体协议提供服务?我们可以在播放之前缓冲整个30秒的块吗?

我们的目标是减少切割所有小片段所需的工作流程(以及将这些片段转码为所有不同的HTML 5视频格式的时间),我们可以抛出一段经过编码的片段并将用户发送到那段录像的一部分.

非常欢迎您的想法和意见,谢谢!

javascript video html5

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

Mac上的Javascript(Safari)toLocaleTimeString()奇怪

我们有一个简单的功能,可以在一个持续时间内工作,除了Mac上的Safari之外,它在每个浏览器中都能正常工作(在Mac上使用chrome工作,在PC上运行Safari)

例如,

new Date().toLocaleTimeString() 
Run Code Online (Sandbox Code Playgroud)

我们希望这样的时间格式如下:

十一时59分25秒

但是,在Mac Safari上我们得到了这个

格林尼治标准时间11:59:25 + 01:00

我们在这些时间进行的任何计算都是一小时的计算(它将计算中的小时数加入)

例如11:59:25 - 11:59:25 = 01:00:00(应该是00:00:00)

有任何想法吗?

为什么要在字符串中添加时区?这给我们的数据库带来了一点问题

为什么它会增加一小时的刺痛?

为什么只是在那个血腥的浏览器!

谢谢你的时间.

javascript safari macos

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

确定从分数的一部分给出的星数

数学不是我的优点之一,我想知道如何正确地做到这一点(我可以一起破解,但这将是一团糟):

  • 我们对模块进行评分并以百分比形式给予用户分数
  • 我们希望以星级评分来奖励这些分数,但前提是他们的得分高于模块通过分数
  • 通过标记是可变的
  • 为了进一步打样,我们可以说明星的数量也是可变的
  • 如果他们通过,我希望他们总能获得至少1星

示例图:

  • 最大明星:3
  • 通过标记:75%
  • 用户得分75%,最低标记,所以奖励1星
  • 用户得分90%,这会是2星吗?

多谢你们.


集成解决方案

这就是我的用途:

private const int NUMSTARS = 3;

public int starsFor(int pScore, int pPassMark)
{
    if(pScore < pPassMark)
    {
        return 0;
    }
    else if (pScore == pPassMark)
    {
        return 1;
    }
    else
    {           
        return (int)Math.Ceiling(NUMSTARS * ((pScore - pPassMark) / (double)(100 - pPassMark))); 
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

XSLT是否值得投入时间,是否有任何实际的替代方案?

我意识到在这个主题上还有一些其他的问题,一般的共识是使用你选择的语言来操纵XML.但是,这种解决方案并不适合我的情况.

首先,项目的范围:我们希望开发独立于平台的电子学习,目前,它是一堆HTML页面,但随着它们的成长和发展,它们变得难以维护.我们已经有大约30个模块,每个模块有10-30个HTML页面,而且这个模块一直在增长.

想法:拥有一个XML文件+ Schema pre eLearning Module,然后生成一些XSLT文件,将XML处理成电子教学模块.通过XSLT将XML转换为HTML.

为什么:我们希望灵活性能够轻松地重新格式化内容我认识到CSS在这里是一个可行的替代方案,特别是在视觉上改变了外观,但我们可能需要比这更多的功能并进行重组页面.如果我们决定改变页面布局或功能,我猜测改变"共享"XSLT文件比更新HTML文件更容易.

根据一些"参数",我们可以输出截然不同的页面布局/结构,超出CSS的范围.XSLT可以采用QueryString参数吗?不确定..

现在,所有这些必须是平台无关的,并且能够"离线"运行,即没有服务器为HTML提供动力,因此服务器端技术是不可能的(C#,PHP)

我到目前为止已经读过XSLT的否定词:

  • 高架?不完全确定为什么...是否需要转换为HTML的计算能力?
  • 很难学
  • 更好的选择

现在,我想知道的是:

  • 这个"离线"实际上有没有可行的替代方案?
  • 我是以正确的方式去做的
  • 你们有什么建议或替代方案吗?

编辑:有或没有XSL,CSS和JQuery将是我们开发的解决方案中非常重要的一部分.一般整理(草率的!)

html xml architecture xslt offline

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

如果XML文件附加了架构,则#XSLT转换不起作用?

我们有一个奇怪的问题,我们正在使用几个XSLT文件转换一个相当复杂的XML文件,这不是问题.

问题是如果XML文件附加到模式,则转换不起作用,如果我们删除模式声明它开始工作正常.

任何线索是什么问题?

这是架构缩减

<xs:schema id="play"
targetNamespace="highway"
elementFormDefault="qualified"
xmlns="highway"
xmlns:mstns="highway"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
Run Code Online (Sandbox Code Playgroud)

我们只是使用以下代码链接它(Visual Studio Intellisense然后启动)

<helloElement name="hello" xmlns="highway">
Run Code Online (Sandbox Code Playgroud)

我很欣赏这不是很多,不知道在症状方面提供什么,如果您需要任何信息,请告诉我.

非常感谢!

c# xslt xsd

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

BulletedList onClick未触发

呃,这让我很生气

我试图从bulletedList建立一个动态菜单,大多数菜单项是普通链接,但注销按钮需要执行一些清理代码.

我不能为我的生活让BullettedLists onclick事件开火.BulletedList位于用户控件内(如果这有所不同)

有任何想法吗?或者 - 任何替代,更好的解决方案的想法?

代码如下

项目符号列表

<asp:BulletedList OnClick="menu_Click" runat="server" CssClass="MainMenu" ID="loggedInMenu" DisplayMode="HyperLink"  />  
Run Code Online (Sandbox Code Playgroud)

添加元素

loggedInMenu.Items.Add(new ListItem("Logout", ""));
Run Code Online (Sandbox Code Playgroud)

单击处理程序

protected void menu_Click(object sender, BulletedListEventArgs e)
{

    user.logout();
    Response.Redirect("Default.aspx");
}
Run Code Online (Sandbox Code Playgroud)

c# events webforms bulletedlist

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

jquery选择特定元素并对其进行操作

好吧,一点菜鸟问题 - 更多的是满足我的理解为什么我不能这样做,或者如何做得更好....

$("#hi div").hide();
var temp = $("#hi div")[0];
$(temp).show();
Run Code Online (Sandbox Code Playgroud)

这很有效.

$("#hi div")[0].show();
Run Code Online (Sandbox Code Playgroud)

为什么不起作用!有没有简单的方法来做我需要做的事情,而不必定义变量?

jquery

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