标签: webforms

是否可以在MVC和webforms之间共享母版页?

我正在将MVC添加到具有许多遗留webform页面的项目中.这很好用.但是,我目前有一个单独的MVC和webforms母版页.两个母版页产生基本相同的输出.我真的很想杀掉webforms,只需使用我的所有页面的MVC母版页并保持干净.

当我忘记改变两者时,不是DRY已经咬了我几次.

我试着用显而易见的方法,只是将webform内容页面的MasterPage属性指向MVC主页面.这会抛出一个错误,说MVC主控只能使用MVC视图.

这似乎是混合MVC和webform项目的一个相当普遍的问题.我的MVC主人没有对ViewData做任何事情,所以我没有看到webforms无法使用它们的任何原因.

legacy asp.net-mvc webforms master-pages dry

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

提交禁用字段

我知道Web表单定义的行为是不提交禁用的字段......但这不是我想要的定义.我想使用ajax发布表单,我想让它获取所有字段,即使它们被禁用.我不想构建一个解决方法,我将字段"看起来禁用"...或者必须在我启用字段的地方进行破解 - > post - > disable.

是否有可能使ajaxSubmit()或serialize()抓住禁用的字段,因为它正在移动DOM并获取值?或者是否有另一个序列化插件可以做到这一点?或者有人有一个mod我可以使用其中一个插件使其工作?

还是我注定要破解它?

html jquery webforms

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

在excel 2007中打开时,Excel电子表格生成会产生"与扩展错误不同的文件格式"

电子表格仍会显示,但会显示警告消息.问题似乎发生,因为Excel 2007对于匹配其扩展的格式比早期版本的Excel更加挑剔.

该问题最初是由ASP.Net程序发现的,并在Excel错误中产生"您尝试打开的文件",Spreadsheet.aspx-18.xls',其格式与文件扩展名指定的格式不同.验证...".但是,当我打开文件时它显示正常.我正在使用Excel 2007.Firefox将该文件识别为Excel 97-2003工作表.

这是一个生成问题的ASP.NET页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Spreadsheet.aspx.cs" Inherits="Spreadsheet" %>
Run Code Online (Sandbox Code Playgroud)

文件背后的代码如下:

public partial class Spreadsheet : System.Web.UI.Page {
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "application/vnd.ms-excel";
        Response.Clear();
        Response.Write("Field\tValue\tCount\n");

        Response.Write("Coin\tPenny\t443\n");
        Response.Write("Coin\tNickel\t99\n"); 

    } 
Run Code Online (Sandbox Code Playgroud)

}

Ť

c# excel xls webforms

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

如何在ASP.NET WebForms中实现TDD

我知道微软推出ASP.NET MVC的原因是为了简化为ASP.NET进行测试驱动设计(TDD).但是,我在ASP.NET WebForms中有一个相当大的棕色字段(现有)应用程序,我很乐意在其中实现一些TDD类型的功能.我假设有一种方法可以做到这一点,但有哪些可行的选择?

asp.net tdd webforms

31
推荐指数
1
解决办法
7960
查看次数

获取页面上特定类型的所有Web控件

我一直在思考如何在页面上获取所有控件,然后在相关问题中对它们执行任务:

如何通过编程方式搜索C#DropDownList

我需要可以扫描页面的代码,获取所有DropDownList控件并将它们返回到列表中.

我目前不得不编辑每个单独的控件,我宁愿能够动态循环每个控件来执行我的任务.

c# asp.net webforms

31
推荐指数
4
解决办法
7万
查看次数

如何在ASP.NET Web窗体中使用依赖注入

我试图找到一种方法来使用ASP.NET Web窗体控件的依赖注入.

我有很多控件可以直接创建存储库,并使用它们来访问和绑定数据等.

我正在寻找一种模式,我可以将存储库传递到外部控件(IoC),因此我的控件仍然不知道如何构建存储库以及它们来自何处等.

我不希望从我的控件中依赖IoC容器,因此我只希望能够使用构造函数或属性注入来构造控件.

(只是为了使事情复杂化,这些控件正在构建并在运行时由CMS放置在页面上!)

有什么想法吗?

asp.net dependency-injection webforms inversion-of-control

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

如何从ASP.NET网站(而不是Web应用程序)中的用户控件获取父页面

正如主题所要求的那样.

编辑1

在处理请求以便在用户控件中存储对父页面的引用时,有时可能会这样吗?

c# asp.net user-controls webforms

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

如何在ASP.NET应用程序中使用jQuery捕获提交事件?

我正在尝试使用jQuery 处理元素submit事件form.

    $("form").bind("submit", function() {
        alert("You are submitting!");
    });
Run Code Online (Sandbox Code Playgroud)

当表单提交时(作为回发的一部分,例如当我点击按钮或链接按钮时),它永远不会触发.

有没有办法让这项工作?我可以附加触发提交的各个元素的事件,但这不太理想 - 有太多的可能性(例如具有autopostback = true的下拉列表,键盘快捷键等)


更新:这是一个最小的测试用例 - 这是我的aspx页面的全部内容:

<%@ page language="vb" autoeventwireup="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:scriptmanager id="ScriptManager" runat="server" enablepartialrendering="true">
                <scripts>
                    <asp:scriptreference path="/Standard/Core/Javascript/Jquery.min.js" />
                </scripts>
            </asp:scriptmanager>
            <p>
                <asp:linkbutton id="TestButton" text="Click me!" runat="server" /></p>
        </div>
    </form>

    <script type="text/javascript">
        $(document).ready(function() {
            alert("Document ready.");
            $("form").submit(function() {
                alert("Submit detected.");
            });
        });
    </script>

</body> …
Run Code Online (Sandbox Code Playgroud)

asp.net jquery webforms form-submit

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

如果是aspx文件中的语句

我有一些基本上看起来像这样的代码:

<div>
    <% if(Something) { %>
        <div id="someUniqueMarkup">
            This markup should not be output if Something==true.

            <units:MyUserControl runat="server"/>
        </div>
    <% }
    else { %>
        <units:MyUserControl runat="server" />
    <% } %>
</div>
Run Code Online (Sandbox Code Playgroud)

取决于Something,其中一个是隐藏的,这很好.但是如果我在用户控件中设置断点,我会注意到它被加载了两次(对于上面的每个控件都加载了一次)并且它的所有逻辑都运行了两次.我当然可以用占位符或多视图来控制它,但是同样的事情似乎适用 - 对于页面上实际存在的每个控件都运行一次OnLoad/ Page_Loadetc.

编辑: 我显示/隐藏这个的原因是因为我需要在控件周围包含一些标记if Something == true.我可以在控件之前和之后的if-else中包装"unique markup"本身,但这对于真正应该像我上面想象的那样简单的东西来说似乎很脏.在这两种情况下,用户控件本身应该完全相同,抱歉它具有令人困惑的属性.

它只是我,还是这只是一个非常不直观的界面?并且只要它在页面上,它实际上是否可以不加载/执行用户控件?

c# asp.net webforms

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

ASP.NET MVC vs WebForms:速度和架构比较

我与我的一位朋友争吵,他是一家大型互联网公司的建筑师.基本上他说ASP.NET MVC不适用于大型企业应用程序,它不像WebForms那样灵活,而且MVC应用程序比Web表单应用程序慢.

根据我自己使用MVC的经验,我可以说它更灵活,重量更轻,因为没有页面生命周期,viewstate等等.因此,它应该加载至少更快.据我所知,MVC专为中大规模流量而设计.

你们有什么感想?有没有人比较速度和性能?ASP.NET MVC比ASP.NET WebForms更适合大规模应用吗?

简而言之,在这两种选择之间,您会选择哪种选择用于大规模企业应用程序?

architecture asp.net-mvc comparison performance webforms

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