标签: asp.net-webpages

ASP.NET WebPages中的_PageStart.cshtml与_AppStart.cshtml

_PageStart.cshtml与_AppStart.cshtml有什么区别?我可以互换使用吗?

webmatrix asp.net-webpages

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

为什么我的img错误函数失败了?

我动态构建的一些img元素可能(do)失败.对于这些情况,我从这里得到了一些代码:有没有办法以编程方式确定图像链接是坏的?即:

    function getNatlBookCritics() {
        var htmlBuilder = '';

        // Doesn't do diddly-squat - wrong spot for it?
        $('img').error(function () {
            $(this).attr("src", "Content/NoImageAvailable.png");
        });

        $.getJSON('Content/NBCCJr.json', function (data) {
            $.each(data, function (i, dataPoint) {
    . . .
Run Code Online (Sandbox Code Playgroud)

......但它不起作用.Warum nicht?

UPDATE

将此代码放在$ .getJSON()调用的.each部分中:

var jObject = $('<img src=\"' + dataPoint.imghref + '\"/>');
$(jObject).error(function () {
    $(this).attr("src", "Content/NoImageAvailable.jpg");
});
Run Code Online (Sandbox Code Playgroud)

...... 所有图像都失败了.dataPoint.imghref包含以下值:

http://www.amazon.com/exec/obidos/ASIN/B00655KLOY/garrphotgall-20
Run Code Online (Sandbox Code Playgroud)

更新2

在一个坚果地狱,我正在添加"img src",如下所示:

function getNatlBookCritics() {
    var htmlBuilder = '';
    $.getJSON('Content/nbcc.json', function (data) {
        $.each(data, function (i, dataPoint) { …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery razor asp.net-webpages

7
推荐指数
2
解决办法
2847
查看次数

ASP.NET Razor大型项目的网页?

我正在开始一个中等规模的Web应用程序,我正在考虑使用ASP.NET Razor语法Web页面框架(而不是MVC)进行开发.但正如我所看到的,许多人认为"网页"是针对初学者量身定做的.

我在ASP.NET Web Forms中开发专业的大型Web应用程序已有好几年了,但我总是倾向于使用干净的html/javascript代码而不是服务器端控件,因此我发现Razor语法非常吸引人.我正在使用Visual Studio而不考虑帮助程序功能或其他初学者眼睛糖果功能的网页.

考虑到这一点,您对此方法的可扩展性,速度和长期发展有何看法?

asp.net scalability razor asp.net-webpages

6
推荐指数
2
解决办法
1889
查看次数

如何使用Microsoft.Web.WebPages.OAuth更改范围/权限

有没有办法在使用Microsoft.Web.WebPages.OAuth时更改范围/权限?最合乎逻辑的地方是使用OAuthWebSecurity.RegisterClient注册客户端.我认为extraData参数的添加范围可能会起作用,但我没有成功.

asp.net-membership dotnetopenauth asp.net-webpages

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

方法'get_IsBindingRedirectSupported'没有实现

因此,我正在尝试在Visual Studio 2012中创建一个ASP.NET网站(Razor v2)网站,但在运行该网站时,我收到此错误.

Method 'get_IsBindingRedirectSupported' in type 'System.Web.WebPages.Administration.PackageManager.WebProjectSystem' from assembly 'System.Web.WebPages.Administration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation.
Run Code Online (Sandbox Code Playgroud)

在试图找到与我亲爱的朋友谷歌有用的东西后,我感到很茫然.

有谁知道这个错误的原因以及如何解决它?

asp.net-webpages

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

如何开始在我的WebMatrix网站上使用OpenID/OAuth?

如果我滥用或混淆OpenID和OAuth这两个术语,我很抱歉,我仍然是这个分散登录过程的新手.

我几天来一直试图让我的网站(内置WebMatrix)识别谷歌登录.问题是我需要在我的_AppStart.cshtml文件中使用这行代码(来自我研究过的代码):

OAuthWebSecurity.RegisterGoogleClient();
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试后,这种说法是在地方执行这个网站,我只是得到了一个服务器错误,指出OAuthWebSecurity.RegisterGoogleClient();没有在当前的背景下存在.

我以为我可能需要OAuth库,不同的帮助器或其他一些软件包,但是我看到的唯一相关软件包(Microsoft WebPages OAuth库2.0.20710.0)我无法获得,因为WebMatrix不支持NuGet的版本它说我需要(2.0).

我之前从未使用此方法进行登录,我想了解如何为我的客户构建此功能.我希望做的就是打开起动模板,并复制我的文件了.我使用我不理解的代码时遇到问题.我觉得这对我来说是一个可怕的习惯(在我甚至使用jQuery插件之前,我需要一些说服力).它也可能会提到我将不会使用任何其他第三方服务进行此登录.我们将gmail用于员工的公司电子邮件帐户,因此我需要Google登录即可使用此解决方案.

我尝试过的事情:

  • 谷歌搜索我的其他场景.失败,因为找不到相关的搜索结果(即,我无法找到符合我的方案的结果)
  • 搜索早期版本的Microsoft WebPages OAuth库2.0.20710.0程序包.失败,因为我的搜索没有返回这样的包.
  • 使用时OAuthWebSecurity.RegisterOpenIDClient(BuiltInOpenIDClient.Google);代替OAuthWebSecurity.RegisterGoogleClient(); Fails的原因与使用时相同OAuthWebSecurity.RegisterGoogleClient();
  • 访问站点管理并下载OAuth库. 因为NuGet需要更新而失败
  • 由于此处提到的内容(显然是WebMatrix的已知错误) 更新Nuget 失败:http : //forums.asp.net/t/1836913.aspx/1?Error+updating + DotNetOpenAuth+updates+with+NuGet+Gallery
  • 打开Starter Site Template,它已经内置了OAuth并且功能齐全.未能告诉我为什么这个网站会识别OAuthWebSecurity.RegisterGoogleClient()而我的没有,因为没有明确的方式(我知道)告诉第三方软件的pacakages,更新和/或版本可能有所不同.
  • 创建新的Starter Site并从*"App_Data"*和"bin"文件夹中复制任何基于OAuth的丢失文件.失败的原因是没有观察到任何行为变化.

----------------------------------------- 更新 -------- --------------------------------

到目前为止,迄今为止,至少对我而言,解决此问题的最佳解决方案是使用WebMatrix中的"Starter Site"模板,无论我喜欢与否.

然而,我最担心的事情之一是,有太多无关的文件,我不知道我能做什么,也不能删除,以保持网站清洁,同时仍然让OAuthWebSecurity()课程完全可访问和功能.然而,我在"Starter Site"模板中只保留了"bin"和"App_Data"文件夹(当然包括所有内容),并在移动文件之前删除了其他所有内容(包括web.config文件),到目前为止,这似乎对我很有用.

使用上面提到的步骤,我保持我的网站清理不必要的代码,同时仍然可以访问OAuthWebSecurity()该类.

在未来(我想象WebMatrix 3发布时),这个bug可能会被修复,OAuth库的简单管理站点安装不需要WebMatrix不支持的NuGet版本,但在此之前,这是最好的回答我.

c# openid oauth webmatrix asp.net-webpages

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

有没有一种简单的方法将数组存储到SQL Server CE数据库中的单个列中?

我在这里审查可能的答案(PHP的,我认为):http://www.lateralcode.com/store-array-database/但我无法找到序列化/反序列化的C#.NET版本.

这是否与上面的链接中显示的方式相同,或者在给定环境的情况下,我应该使用完全不同的方法吗?

我只是不想为每个在我的每个9种不同的排列的12个值的一堆不同的列,所以如果有另一种方法来实现这一(转换为byte []等)我比愿意听.

如果它有帮助,那么数组将是简单的string []数组.

c# sql-server-ce webmatrix asp.net-webpages

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

如何使用带WebMatrix的C#.net网页访问单个XML元素的值?

我已经查看了很多资源,做了大量研究,并尝试使用WebMatrix和C#,网页一次访问单个元素的许多"最佳猜测",但是我正在尝试的任何事情都没有通过.

考虑一个看起来像这样的简单xml文档:

<root>
    <requisitionData>
        <element1>I am element 1</element1>
        <element2>I am element 2</element2>
    </requisitionData>
</root>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用foreach循环,如下所示:

@using System.Xml.Linq

XDocument doc = XDocument.Load(Server.MapPath("~/User_Saves/cradebaugh/testFile.xml"));

foreach (XElement element in doc.Descendants("requisitionData"))
{
    @element.Value
}
Run Code Online (Sandbox Code Playgroud)

当然,这很好.但是,如果我只是想将单个元素<element1>的值存储在字符串变量中呢?

我看过这里(链接如下),但是我不能对这段代码做出正面或反面(它几乎看起来像C#对我来说,但是再一次,我是解析XML的新手......):

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/b14ce4d1-77f1-420d-ad91-0989794a1d45/

我还在这里查看:如何从XDocument获取XML节点

但是这里显示的代码对我来说也没有任何意义.我一直认为必须有一种更简单的方法来做到这一点,希望不用学习全新的查询方法.

---------------------------------我做过的事------------ ---------------------

XDocument doc = XDocument.Load(Server.MapPath("~/User_Saves/cradebaugh/testFile.xml"));

string element = doc.Descendants("requisitionData").Descendants("element1").Value;
Run Code Online (Sandbox Code Playgroud)

我收到错误: "缺少使用指令或程序集引用

XDocument doc = XDocument.Load(Server.MapPath("~/User_Saves/cradebaugh/testFile.xml"));

XElement element = doc.Descendants("element1");
string val = element.Value;
Run Code Online (Sandbox Code Playgroud)

我收到错误: 无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'System.Xml.Linq.XElement'.存在显式转换(您是否错过了演员?)

我确实尝试过其他的东西,但是我得到了与上面显示的相同的错误.我是否比现在更难,或者我过度简化它?

-------------------------更新------------------------ ------

我能够让这个工作:

string element = doc.Element("root").Element("requisitionData").Element("element1").Value;

@element
Run Code Online (Sandbox Code Playgroud)

但是,关于这种方法我关注的一件事是.Element选择"第一个"匹配,所以在xml文档中看起来像这样:

<root>
    <requisitionData>
        <element1>I am element …
Run Code Online (Sandbox Code Playgroud)

c# xml webmatrix razor asp.net-webpages

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

手动触发特定表单元素的验证

我正在使用Validation.Add()Html.TextBox()(以及相关的)帮助器与不显眼的 JavaScript 错误检查相结合,并且对结果非常满意。它用一组代码涵盖了服务器和客户端,通常我已经能够实现我需要的一切。

不过,我遇到了一些障碍,因为有时您需要运行自己的逻辑来建立错误情况。如果此错误直接与某个字段相关,那么最好使用任意错误消息手动将该字段标记为错误源 - 我相当确定没有办法立即执行此操作。为了澄清我的意思,一个示例是用户名字段,需要检查用户名是否已在使用中 - 如果是,则会生成错误。

目前,我使用 将其添加到表单错误集合中Validation.AddFormError(),该方法有效,但仅在摘要中显示错误。在上面的示例中,错误显然与用户名字段相关,因此能够将该错误与适当的字段名称联系起来(并将其显示在正确的位置)似乎是合乎逻辑的。

我应该从 派生RequestFieldValidatorBase并创建一个仅返回到 的验证器falseIsValid()?显然,作为服务器端检查,我不希望在客户端检查它,尽管我知道通过为验证系统编写更具体的验证器和插件、公开更多data-属性并执行 AJAX也可以实现这一点查看。我对这个问题感兴趣的是一个更通用的解决方案:将特定字段标记为服务器端错误的来源。

希望这是有道理的。人们会推荐什么作为解决这个问题的最佳方法?

c# asp.net webmatrix asp.net-webpages webmatrix-2

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

Asp:FileUpload 编辑“未选择文件”消息

我只需要知道是否有办法更改未选择文件时显示的消息。Asp:FileUpload

这条信息

谢谢。

css c# asp.net asp.net-webpages

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