If you come to ASP.NET MVC from a purely ASP.NET Web Forms background, one of the first things you are likely to notice is that all those nice easy Server Controls have disappeared. One of those is the FileUpload, and its absence seems to cause a few problems. This article looks at how to upload files to the server in an MVC world, and how to get them back from the server to the user again.
In Web Forms, when you drag a FileUpload control on to the designer, something happens when the page is rendered which you probably don't notice. The resulting html form that wraps the entire page is decorated with an extra attribute: enctype="multipart/form-data". The FileUpload itself is rendered as an html input type=file. Within an MVC View, there are a number of ways to set this up. The first is with HTML:
<form action="/" method="post" enctype="multipart/form-data">
<input type="file" name="FileUpload1" /><br />
<input type="submit" name="Submit" id="Subm ......
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
sendMail("³Â½¨ÓÂ", "chenjianyong@126.com", "chen@126.com", "·¢¸öÓʼþÊÔÊÔ", "ÄãÄÜÊÕµ½£¬ËµÃ÷ÊÇÄã×Ô¼º·¢µÄ");
}
/// <summary>
/// ·¢Ë͵ç×ÓÓʼþ ÒýÓÃjmail ×é¼þ
/// </summary>
/// <param name="sender"> ·¢¼þÈË </param>
/// <param name="senderMail"> ·¢¼þÈ˵ç×ÓÓʼþ </param>
/// <param name="receiver"> ÊÕ¼þÈ˵ç×ÓÓʼþ </param>
/// <param name="subject">Ö÷Ìâ </param>
/// <param name="content"> ÓʼþÄÚÈÝ </param>
publ ......
1. Ò³ÇëÇó£º
Ò³ÇëÇó·¢ÉúÔÚÒ³ÉúÃüÖÜÆÚ¿ªÊ¼Ö®Ç°¡£Óû§ÇëÇóҳʱ£¬ASP.NET ½«È·¶¨ÊÇ·ñÐèÒª·ÖÎöºÍ±àÒëÒ³£¨´Ó¶ø¿ªÊ¼Ò³µÄÉúÃüÖÜÆÚ£©£¬»òÕßÊÇ·ñ¿ÉÒÔÔÚ²»ÔËÐÐÒ³µÄÇé¿öÏ·¢ËÍÒ³µÄ»º´æ°æ±¾ÒÔ½øÐÐÏìÓ¦¡£
2. ¿ªÊ¼£º
ÔÚ¿ªÊ¼½×¶Î£¬½«ÉèÖÃÒ³ÊôÐÔ£¬Èç Request ºÍ Response¡£Ôڴ˽׶Σ¬Ò³»¹½«È·¶¨ÇëÇóÊǻط¢ÇëÇó»¹ÊÇÐÂÇëÇ󣬲¢ÉèÖà IsPostBack ÊôÐÔ¡£´ËÍ⣬ÔÚ¿ªÊ¼½×¶ÎÆÚ¼ä£¬»¹½«ÉèÖÃÒ³µÄ UICulture ÊôÐÔ¡£
3. Ò³³õʼ»¯£ºÒ³³õʼ»¯ÆÚ¼ä£¬¿ÉÒÔʹÓÃÒ³ÖеĿؼþ£¬²¢½«ÉèÖÃÿ¸ö¿Ø¼þµÄ UniqueID ÊôÐÔ¡£´ËÍ⣬ÈκÎÖ÷Ìâ¶¼½«Ó¦ÓÃÓÚÒ³¡£Èç¹ûµ±Ç°ÇëÇóÊǻط¢ÇëÇó£¬Ôò»Ø·¢Êý¾ÝÉÐδ¼ÓÔØ£¬²¢ÇҿؼþÊôÐÔÖµÉÐδ»¹ÔΪÊÓͼ״̬ÖеÄÖµ¡£
4. ¼ÓÔØ£º
¼ÓÔØÆÚ¼ä£¬Èç¹ûµ±Ç°ÇëÇóÊǻط¢ÇëÇó£¬Ôò½«Ê¹ÓôÓÊÓͼ״̬ºÍ¿Ø¼þ״̬»Ö¸´µÄÐÅÏ¢¼ÓÔØ¿Ø¼þÊôÐÔ¡£
5. ÑéÖ¤£º
ÔÚÑéÖ¤ÆÚ¼ä£¬½«µ÷ÓÃËùÓÐÑéÖ¤³ÌÐò¿Ø¼þµÄ&nb ......
Ò»¡£ ASP.NETµÄÌØÉ«ÓëÓÅÊÆ
(1)Óëä¯ÀÀÆ÷ÎÞ¹Ø
(2)·½±ãÉèÖöϵã
(3)±àÒëºóÖ´ÐУ¬ÔËÐÐЧ¹û¸ß
(4)·á¸»µÄ¿Ø¼þ¿â
(5)´úÂëºóÖã¬Ê¹´úÂë¸üÇåÎú
¶þ¡£´´½¨ASP.NET³ÌÐò
´ò¿ªVisual Studio£¬Ñ¡Ôñ“Îļþ → н¨ → ÍøÕ¾” ÃüÁÎÒÃÇн¨ÍøÕ¾Ê±²»Ò»¶¨ÐèÒªÖ¸¶¨ÍøÕ¾Â·¾¶£¬Ö±½ÓÖ¸¶¨Îļþ·¾¶¾Í¿ÉÒÔÁË¡£
λÖÿÉÒÔÖ¸¶¨ÈýÖÖÀàÐÍ£¬ÎÒÃdz£Ê¹ÓÃÎļþϵͳ£¬µ¥»÷ºóÃæµÄ“ä¯ÀÀ”°´Å¥¿ÉÒÔ°ïÖúÄãÕÒµ½Îļþ¼ÐËùÔÚλÖ㬱ÜÃâÊÖ¶¯ÊäÈë·¾¶Ê±²úÉú´íÎó¡£
Ñ¡ÔñºÃ·¾¶ºóÈ»ºóµ¥»÷È·¶¨°´Å¥£¬ÕâʱÎÒÃÇÒѾн¨ÁËÒ»¸öÍøÕ¾¡£µ±È»£¬»¹±ØÐëÉèÖÿª·¢Ó¦ÓóÌÐòËùʹÓõıà³ÌÓïÑÔ£¬ÎÒÃÇʹÓÃC#¡£
Èý¡£ B/S C/S
B/S ä¯ÀÀÆ÷/·þÎñÆ÷(Browser Server)
C/S ¿Í»§¶Ë/·þÎñÆ÷(Client Server) ......
¿ªÔ´ÍøÒ³±à¼Èí¼þFCKEditorÔÚ09Äê·¢²¼¸üе½3.0£¬²¢¸ÄÃûΪCKEditor¡£¸Ä½øºóµÄckeditor¸ü¼ÓÄ£¿é»°£¬ÅäÖøü¼ÓÁé»î£¬ºÍÒÔǰµÄfckeditorʹÓ÷½Ê½ÉÏÒ²ÓÐËù²»Í¬¡£ÔÚÎÒµÄmvcÏîÄ¿ÖÐÓÉÓÚÒªÓõ½ ckeditor£¬ÌØÒâÑо¿ÁËÏÂËüµÄʹÓ÷½·¨£¬Ð´ÏÂÀ´ºÍ´ó¼Ò·ÖÏí¡£
ÎÒÓõÄÊÇ×îа汾µÄ£ºckeditor_3.0.1 ÏÂÔØµØÖ·£ºhttp://ckeditor.com/
ÏÂÔØºóÖ±½Ó½âѹµÃµ½ckeditorÎļþ¼Ð£¬°üÀ¨ÈçÏÂÄÚÈÝ£º
ÆäÖÐsampleΪÀý×Ó£¬sourceΪԴÎļþ£¬ÎªÁ˼õÉÙeditorµÄÌå»ý£¬Ö±½Óɾ³ý¡£È»ºó½«Õû¸öÎļþ¼ÐÖ±½Ó¿½±´µ½ÍøÕ¾µÄ¸ùĿ¼ÏÂ.
ÔÚÄãÐèҪʹÓÃeditor¿Ø¼þµÄÒ³ÃæÍ·²¿Ìí¼Ó£º
<head>
...
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
</head>
ÔÚÒ³ÃæÏàӦλÖÃÉÏÌí¼Ó£º<textarea name="editor1"></textarea>
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'editor1' );
};
</script>
×¢Ò⣺js´úÂëÒ»¶¨ÒªÐ´ÔÚtextareaºó
Æäʵ¿ÉÒÔÕâÑùÀí½âeditor¿Ø¼þÖ»ÊǶÔtextarea×öÁËÒ»¸öƯÁÁµÄ°ü×°£¬ÎÒÃǵÄÊäÈëÆäʵ¶¼ÔÚÉÏÃæµÄtexareaÖУ¬×îÖÕÒ²ÊÇͨ¹ýtextarea
Ìá½»µ½·þÎñ ......
ΪʲôURLÓ³ÉäºÍÖØÐ´ºÜÖØÒª£¿
ÏÂÃæÊÇ¿ª·¢ÈËÔ±ÏëÒª¶ÔURLÓиü´óµÄÁé»îÐÔµÄ×î³£¼ûµÄ³¡¾°£º
1) ´¦ÀíÕâÑùµÄÇéÐΣºÄãÒª¸ü¸ÄÄãµÄwebÓ¦ÓÃÖÐÍøÒ³µÄ½á¹¹£¬µ«ÄãͬʱҲҪȷ±£ÔÚÄãÒÆ¶¯ÍøÒ³ºó£¬ÄÇЩ±»ÈËÊղصÄÀÏURL²»»á³ÉΪËÀÁ´½Ó¡£ÖØÐ´URLÔÊÐíÄã͸Ã÷µØ½«ÇëÇóת½»µ½ÐµÄÍøÒ³µØÖ·¶ø²»³ö´í¡£
2) ÔÚÏóGoogle£¬Yahoo ºÍ Live ÕâÑùµÄËÑË÷ÒýÇæÖÐÌá¸ßÄãÍøÕ¾ÉÏÍøÒ³µÄËÑË÷Ïà¹ØÐÔ¡£¾ßÌ嵨À´Ëµ£¬URLÖØÐ´¾³£ÄÜʹÄãÔÚÄãÍøÕ¾ÉÏÍøÒ³µÄURLÀï¸ü¼ÓÈÝÒ×µØÇ¶Èë¹Ø¼ü´Ê£¬Õâô×öÍùÍù»áÔö¼Ó±ðÈ˵ã»÷ÄãµÄÁ´½ÓµÄ»ú»á¡£´ÓʹÓòéѯ×Ö·û´®²ÎÊýµ½Ê¹ÓÃÍêÈ«ÏÞ¶¨(fully qualified)µÄURLÒ²ÄÜÔÚijЩÇéÐÎÏÂÌá¸ßÄãÔÚËÑË÷ÒýÇæ½á¹ûÖеÄÓÅÏÈ˳Ðò¡£Ê¹ÓÃÇ¿ÖÆreferringÁ´½ÓʹÓÃͬÑùµÄ´óСд(same case)ºÍURLÈë¿Ú(Æ©È磬ʹÓÃweblogs.asp.net/scottgu ¶ø²»ÊÇ weblogs.asp.net/scottgu/default.aspx)µÄ¼¼ÊõÒ²ÄܱÜÃâÒò¿çÔ½¶à¸öURL¶øÔì³ÉµÄÍøÒ³ÅÅÃû(pagerank)µÄ½µµÍ(avoid diluting your pagerank across multiple URLs)£¬´Ó¶øÔö¼ÓÄãµÄËÑË÷½á¹û¡£
ÔÚÒ»¸öËÑË÷ÒýÇæÈÕ½¥Çý¶¯ÍøÕ¾·ÃÎÊÁ¿µÄÊÀ½çÀÔÚÄãµÄÍøÒ³ÅÅÃûÉÏÉÔ΢µÃµ½Ò»Ð©Ìá¸ß¾ÍÄܸøÄãµÄÒµÎñ´øÀ´²»´íµÄͶ×ʻر¨(ROI)¡£Ö𽥵أ¬ÕâÇýʹ¿ª·¢ÈËԱʹÓÃURLÖØÐ´ÒÔ¼°ÆäËûSEO(ËÑË÷ÒýÇæÓÅ»¯ )¼¼ÊõÀ ......