当前位置:首页 » 网页前端 » webform框架图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

webform框架图

发布时间: 2022-06-18 18:41:07

❶ webForm 如何将div作为弹出窗体

这个很简单啊,通过Jquery框架就行了啊!下面是对话框最简单的样式了,其他的样式刻一自己设置

html上引入:

<link href="easyui.css" rel="Stylesheet" type="text/css" />//这个可以网上下载(上传的文件里面有)

<script type="text/javascript" src="jquery-1.8.0.min.js"></script>//这个可以网上下载(上传的文件里面有)

<script type="text/javascript" src="jquery.easyui.min.js"></script>//这个可以网上下载(上传的文件里面有)


<div><button onclick="showdig()">dialog</button></div>//当点击时弹出对话框

<div id="dlg" title="对话框" style="width:400px; height:300px; display:none; position:absolute"></div>//这个就是对话框了


<script type="text/javascript">

function showdig() {

$("#dlg").dialog({ model: true });//加上这句就OK了,这句最重要

$(".panel-tool-close").css({ background: 'url("../img/panel_tools.gif")' });//这句是给关闭对话框加个关闭的图片

}

</script>


发个小demo给你吧

❷ C# Webform 组织结构图 用什么控件

1.用TreeView可以实现组织结构图,不过不怎么美观。
2.最好是自己先构建一个组织结构图,然后用pickerbox控件+label控件去实现组织结构图,美观,如果要动态的就使用sql存储组织结构,同时存储图片文字及其关联。

结论:如果用方法2比较费时间,但是做出来的效果一定很好看。

❸ 如何在WebForm上显示图像缩略图

可以参考以下的方法:
右键计算机,选择属性。

选择高级系统设置。
选择高级选项卡。

在视觉效果中选择自定义下面的:显示缩略图,而不是显示图标。
点击确定。

❹ 请问怎么制作WebForm的图片和文件上传功能

C#上传处理代码:
foreach (string file in Request.Files)
{
var hpf = this.Request.Files[file];
if (hpf.ContentLength == 0)
{
continue;
}
string savedFileName = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(hpf.FileName));
hpf.SaveAs(savedFileName);
}
要上传文件或图片,直接二进制方式存放到数据库?那就没存成文件。

❺ c#webform 表格布局

webform可以用table布局,最好是自己先构建一个组织结构图,然后用pickerbox控件+label控件去实现组织结构图。

❻ 怎样区分webform和mvc

MVC与WebForm最大的区别

使用ASP.NET MVC框架,创建默认项目,第一直观感觉就是地址都是Rewrite过的。对源码和配置文件稍加分析不难看出,MVC使用了httpMoles来拦截地址请求,具体用到了System.Web.Routing类库(MVC2中,MVC1怎么用的忘记了。)而这部分类库被包装在.NET Framework3.5 SP1中,MVC2需要SP1支持也就理所当然了。SP1提供的System.Web.Routing类库可以方便地进行地址请求拦截,对编码处理方面也很优秀。UrlRoutingMole类拦截请求,在这之前,Application_Start的时候,会给RouteTable的全局对象一个拦截的设置。而这个设置使用RouteCollection对象进行保存,MVC对这个类进行了扩展——RouteCollectionExtensions。这些可以不考虑,接下来,当用户访问页面时,UrlRoutingMole类拦截请求,在RouteTable中查看是否符合规则,符合的话,就会调用MvcHandler,这个调用在httpHandlers配置节点被注册,条件是地址符合“*.mvc”规则。MvcHandler的ProcessRequest方法就会调用Controller来执行。事实上整个过程都是黑盒子,用户感觉不到。在Controller中某方法执行后,返回结果,再进入具体的aspx页面。

分析了MVC的工作工程,就可以对比其与WebForm的区别了。我们知道,MVC模式的业务被放置到Controller中去执行,而aspx页面只负责显示。那么在MVC中的业务实际执行时间被提前到了HttpMolde中,而WebForm的请求只在httpHandler容器中被执行。也就是说MVC中Controller与View的分离是使用的ASP.Net请求管道隔离的,这样的话无疑在不影响效率(一次请求,而Response.Redirect是二次请求)的情况下达成了代码的逻辑层次的分离。


图1 MVC工作模型

MVC工作的优点是显然的,更加有利于理解分层逻辑,把握代码的层次感。Controller到aspx页面之间的过程,已经被框架隔离。至于Controller或者View页面与Model调用的过程,还是需要自己来把握。ASP.NET的MVC框架实现了Controller代码的单独管理。

而看WebForm开发模型,则只在HttpHandler容器中执行,对其进行分层,在大的方面缺乏支持,而只能依靠逻辑上分离。并不是不能分离,而是由一定的局限性。HttpHandler的拦截,是跟访问后缀名有关的。当请求一个页面时,那就是一个Handler,而WebForm模型实现显示与逻辑分离,才有的是WinForm的事件驱动。显然,事件必须被注册到页面里,比如Button1_Click这样的代码。而在Button1_Click执行之前,Page_Load方法会被执行。显示代码被写入Page_Load方法中,那么就会造成需要写额外的废代码,比如if (!Page.IsPostBack)这样的判定。而在Button1_Click执行后需要显示的部分,则比较难处理,写出另一个方法,也是必须要在Button1_Click里调用的。替代的解决方案是使用Response.Redirect,在一个aspx页面中处理逻辑,处理完就跳转到另外一个显示的页面。这样做的坏处是,在两个页面中数据很难共享,而跳转是通过标记302来实现,因此多一次请求。而另外还可以通过Server.Execute,Server.Transfer或者Context.RewritePath这样的处理方式,则两个页面转换是在服务器端完成,可以共享数据,可以说和MVC框架的处理方式大同小异,缺点是需要手动配置这些重新定向的属性。

从以上分析可以看出,MVC框架具有很强的优越性,而WebForm也不是一无是处,在简单的应用中更加容易开发。WebForm也是可以实现和MVC一样的分层方式,只是处理时需要多写一些代码而已。而我认为,在用WebForm开发分层遇到的最大问题是页面与页面之间数据的传递问题,而掌握好WebForm中使用服务器端跳转的应用技巧(Server.Execute,Server.Transfer或者Context.RewritePath)进行开发就可以解决数据传输问题,用WebForm开发比MVC框架更容易理解,不会产生复杂的配置,也是一个很不错的选择

❼ 怎么创建一个webform程序

如何创建 Web 应用程序项目在本节中,创建表示应用程序的用户界面的 Visual C# 或 Visual Basic Web
应用程序项目。在 Web 窗体页上,将放置 DataSet、DataGrid 和 DataView
以查看数据库中的特定表。您还将在创建包含数据源的数据访问对象的位置添加组件。创建 Web
窗体在“文件”菜单上,单击“新建”,然后单击“项目”。将出现“新建项目”对话框。在“项目类型”窗格中,单击“Visual
Basic 项目”或“Visual C# 项目”,并在“模板”窗格中选择“ASP.NET Web 应用程序”。将应用程序命名为
MyWebForm。单击“确定”按钮。应用程序向导将创建必要的项目文件,包括下列文件:WebForm1.aspx
— 包含 Web 窗体的可视化表示形式。WebForm1.aspx.cs 或 WebForm1.aspx.vb —
代码隐藏文件,包含用于事件处理和其他编程任务的代码。若要在解决方案资源管理器中查看此文件,请单击“显示所有文件”图标,然后展开 WebForm1.aspx
节点。Web 窗体文件注意
如果解决方案资源管理器没有打开,请在“视图”菜单上单击“解决方案资源管理器”。有关创建 Web 应用程序项目的更多详细信息,请参见创建
Web
项目。添加组件在解决方案资源管理器中,右击项目名称。在快捷菜单上单击“添加”,然后单击“添加组件”。出现“添加新项”对话框,并且默认情况下将选中右窗格中的“组件类”。接受默认名称
(Component1) 并单击“打开”。除非为组件选择其他名称,否则这将在项目中创建名为 Component1.cs 或
Component1.vb 的新文件,具体取决于应用程序语言。组件设计器在 Component1.cs 或 Component1.vb
上打开设计视图。创建数据访问组件数据集可以用于将数据值绑定到传输给客户端的 HTML。它既可以在 Web
窗体本身也可以在组件上创建。为模拟实际情况,将在组件上创建它。还将编写必要的代码以便用数据库中的数据填充数据集。添加和配置数据源在“视图”菜单上单击“工具箱”。从工具箱的“数据”选项卡中,将
sqlDataAdapter
拖到组件设计器表面。“数据适配器配置向导”出现。单击“下一步”前进到“选择您的数据连接”页,然后单击“新建连接”。即会出现“数据链接属性”对话框。在“数据链接属性”对话框的“连接”选项卡中:输入安装了
pubs 数据库的服务器的名称。输入服务器的登录信息。从数据库列表中选择
pubs。单击“测试连接”按钮测试数据链接。单击“确定”返回到向导。数据连接的名称出现在下拉列表中。注意
如果不知道 SQL Server pubs
数据库的用户名和密码,请与数据库管理员联系。数据链接属性单击“下一步”前进到“选择查询类型”页。选择“使用
SQL 语句”,然后单击“下一步”。在“生成 SQL
语句”页中单击“查询生成器”。在“添加表”对话框的“表”选项卡中,单击“titles”,单击“添加”,然后单击“关闭”。这将“titles”表添加到
SQL
查询中。在“查询生成器”对话框中,如下图所示,选择“title_id”、“title”、“price”、“notes”和“pubdate”复选框,然后单击“确定”生成
SQL 语句并返回到“数据适配器配置向导”。查询生成器“生成 SQL 语句”页显示生成的 SQL
语句。单击“完成”退出“数据适配器配置向导”并将数据源连接到“titles”表。将下列对象添加到组件设计器表面:sqlDataAdapter1sqlConnection1另一种方法是,可以使用服务器资源管理器同时创建
sqlDataAdapter1 和 sqlConnection1 对象。为此,展开“SQL Server”树以显示服务器、pubs 数据库和 titles
表,如下图所示。展开 titles 并选择所需要的列,然后将它们拖到组件设计器表面。服务器资源管理器
可以在 Component1.cs 文件的 InitializeComponent 方法(或 Component1.vb 文件的
InitializeComponent 子例程)中查看生成的代码。为此,通过在解决方案资源管理器中右击 Component1.cs(或
Component1.vb)切换到代码视图,然后在快捷菜单中单击“查看代码”。单击“文件”菜单上的“全部保存”保存项目。生成和填充数据集如果组件设计器不可见,则请在解决方案资源管理器中双击文件

❽ 如何在webform上添加activex

你好!
ActiveX技术虽然是一项古老的技术,但是却有着广泛的应用,支付宝的密码输入控件,各大银行的密码输入控件,网页聊天室中的截屏功能,网页播放器中的p2p播放...甚至Flash,Silverlight等等,在IE中都表现为ActiveX。虽然C#也能开发"用于网页的com应用",能达到类似ActiveX的效果,但是有一个要命的问题是必须得安装几百M的.net Framework框架,如果仅仅为了安全的输入一个密码,而要用户下载几百M的安装程序,这是很多人不能接受的,Delphi做为win32下的原生开发工具,能很好的支持微软各种"古老"的经典技术。(再做点小广告:delphi的kyrix版本还能编译跨平台的应用哦!)
ok,开工吧:

开发工具:推荐用delphi 2010(d7也可以,不过添加属性,方法等过程要手动,稍微麻烦点)

1.启用delphi2010-->File->New->Other-->Active Library

2.项目命名为MyActiveX

3.File-->Save All 全部保存

实际上这样就能编译了,不过只是空的dll

4.File-->New-->Other-->Active Form

改名为MyForm

将对应的单元文件,保存为UMyForm.pas

5.打开MyAcitveX.ridl文件,切换到design视图,选中IMyForm接口,右击New-->Property
添加一个属性Msg

将Msg属性的Type改为BSTR 即WideString类型

完了之后,点击工具栏中的Refresh
Implementation(即上图中工具栏中圈起来的部分)--这一步很重要,点击之后,它将自动生成属性Msg对应的声明和实现代码模板

6.打开UMyForm.pas--即ActiveForm对应的单元,找到Set_Msg以及Get_Msg的实现部分,补充代码如下:

functionTMyForm.Get_Msg:WideString;
begin
result:=_msg;
end;
procereTMyForm.Set_Msg(constValue:WideString);
begin
_msg:=value;
end;

当然TMyForm的private部分,得先加一个私有成员

type
TMyForm=class(TActiveForm,IMyForm)
private
{Privatedeclarations}
_msg:WideString;
...

这样我们就为即将生成的ActiveX控件,添加了一个字符串类型的属性Msg,下面来测试一下:

7.编译项目,会生成一个MyActiveX.ocx,在运行栏里输入

regsvr32 C:\Users\jimmy.yang\Desktop\Delphi_activex\MyActiveX\MyActiveX.ocx

注:这里ocx的路径,请各位根据自己的实际路径修改

这样就完成了ocx的注册。

8.放到html里测试一下:

<OBJECTID='x'name='x'CLASSID='CLSID:52D17094-0687-4A2F-B2DB-30F3189AC659'align=centerhspace=0vspace=0></OBJECT>
<scripttype='text/JavaScript'>
varx=document.getElementById("x");
alert(x.Msg);
</script>

关于CLSID在哪里查看,打开:MyActiveX_TLB.pas文件,定位到下面这里:

const
//
MyActiveXMajorVersion=1;
MyActiveXMinorVersion=0;
LIBID_MyActiveX:TGUID='{49138437-8265-4B1A-9EAE-D0F615D68464}';
IID_IMyForm:TGUID='{54A20855-29A3-4C92-85DE-A419DA457C7A}';
DIID_IMyFormEvents:TGUID='{60BBC967-E1E6-4E98-BAE5-776BFD06E9CC}';
CLASS_MyForm:TGUID='{52D17094-0687-4A2F-B2DB-30F3189AC659}';

其中 CLASS_MyForm: TGUID对应的就是ClassID

运行后,除了弹出一个空白的警告框,暂时看不到其它:)(可不就是这样么?Msg属性没给任何初始值,当然是空字符串,所以弹出一个空的警告框是正常的)

9.我们再来添加一些控件和方法,以验证刚才设置的属性确实有效

在MyForm上添加一个文件框,一个按钮按钮的事件如下:

procereTMyForm.Button1Click(Sender:TObject);
begin
_msg:=self.Edit1.Text;
end;

即把文本框的值赋给属性Msg

再继续定位到Set_Msg,略做修改

procereTMyForm.Set_Msg(constValue:WideString);
begin
_msg:=value;
self.Edit1.Text:=_msg;
end;

即设置Msg属性时,同时也把值显示在文本框里,以便等会儿我们好测试在js中给activeX属性赋值的效果

ok了,再来测试一下,编译一下,如果通不过,请先运行

regsvr32 C:\Users\jimmy.yang\Desktop\Delphi_activex\MyActiveX\MyActiveX.ocx /u

将刚才注册的ocx反注册,同时关掉浏览器,不然该ocx文件一直被占用,无法更新.

修改一下html的代码:

<OBJECTID='x'name='x'CLASSID='CLSID:52D17094-0687-4A2F-B2DB-30F3189AC659'align=centerhspace=0vspace=0></OBJECT>
<hr/>
<inputtype='button'value='显示Msg属性的值'onclick='ShowMsg()'/>
<inputtype='button'value='设置Msg属性的值'onclick='SetMsg()'/>
<scripttype='text/JavaScript'>
varx=document.getElementById("x");
varShowMsg=function(){
alert(x.Msg);
}
varSetMsg=function(){
x.Msg='js传过来的值';
}
</script>

❾ WebForms是什么

webform:微软.net平台下web开发的一种技术(框架)
这种框架的优点主要有:
事件模型。 Web 窗体支持与 Windows 应用程序类似的事件驱动编程模式。 许多事件可用,数百个服务器控件对它们提供支持。
状态管理。 Web 窗体通过使用视图状态和基于服务器的控件降低了状态管理的复杂性。
基于页面的体系结构。 Web 窗体提供了一种体系结构,此体系结构将含声明性标记的页面(.aspx 文件)与添加功能的代码隐藏文件相结合。 通过使用此结构,可以轻松地创建能够执行常规任务(如对用户操作作出响应以及呈现服务器代码中的标记)的页面。
大批控件。 ASP.NET 社区提供了数百个可减少开发时间的服务器控件和组件。
也正因为这些优点,能够很快的使用Web窗体框架开发应用程序。

❿ 什么时候该用MVC,什么时候该用Webform

这个要看具体的应用情况,一般创建 MVC 应用程序时

您必须仔细考虑是使 用 ASP.NET MVC 框架还是使用 ASP.Net Web 窗
体模型来实现 Web 应用程序。MVC 框架未取代 Web 窗体模型;您可以
对 Web 应用程序使用任一框架。(如果您具有现有的基于 Web 窗体的应用程序,则这些应用程序将完全按照它们一贯的方式继续工作。)在决定对特定
网站使用 MVC 框架或 Web 窗体模型之前,请权衡各种方法的优点。

基于 MVC 的 Web 应用程序的优点

ASP.NET MVC 框架具有以下优点:

• 通过将应用程序分为模型、视图和控制器,化繁为简的工作更加轻松。

• 它
不使用视图状态或基于服务器的窗体。这使得 MVC 框架特别适合想要完全控制应用程序行为的开发人员。• 它使用一种通过单一控制器处理 Web 应用
程序请求的前端控制器模式。这使您可以设计一个支持丰富路由基础结构的应用程序。有关更多信息,请参见 Front Controller(前端控制
器)。

• 它为测试驱动的开发 (TDD) 提供了更好的支持。• 它非常适合大型开发人员团队支持的 Web 应用程序,以及需要对应用程序行为进行极度控制的 Web 设计人员。

基于 Web 窗体的 Web 应用程序的优点

基于 Web 窗体的框架具有以下优点:

• 它支持通过 HTTP 保留状态的事件模型,这有益于开发业务线 Web 应用程序。基于 Web 窗体的应用程序提供了在数百个服务器控件中受支持的许多事件。

• 它使用页面控制器模式向单个页面添加功能。有关更多信息,请参见 Page Controller(页面控制器)。• 它针对基于服务器的窗体使用视图状态,这使得管理状态信息更加轻松。

• 它非常适合想要利用大量组件快速开发应用程序的 Web 开发人员和设计人员的小型团队。

• 通常,对于应用程序开发而言,它比较简单,这是因为组件(Page 类、控件等)紧密集成并且通常需要比 MVC 模型更少的代码。