2010-04-01 78 views
0

這可能嗎?如果是這樣,我需要做出什麼樣的調整才能正確做到這一點。我知道我可以在單獨文件運行WebForms和MVC的意見,但我想運行的MVC視圖頁上的Web服務器控件輸出和事件/,不過,我不斷收到此編譯器錯誤:在MVC視圖頁面內運行服務器控件? (asp.net)

Line 38: <CuteWebUI:Uploader ID="UploadPic" runat="server" UploadType="IFrame" 
Line 39:  FileTooLargeMsg="{0} cannot be uploaded! File size ({1}) is too large. The maximum file size allowed is set to: {2}." 
Line 40:  TempDirectory="~/UserData/Images/TemporaryImages" UploadingMsg="Uploading..." 

    C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0> "C:\Windows\Microsoft.NET\Framework\v4.0.30128\vbc.exe" /t:library /utf8output /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Routing\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Routing.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Entity.Design\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.Design.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Web.Entity.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Extensions.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Abstractions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Abstractions.dll" /R:"C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\assembly\dl3\1ebf4e16\00022dff_30cfca01\CuteWebUI.AjaxUploader.DLL" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.Activities.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" /R:"C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\App_global.asax.dwhl4wn6.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\assembly\dl3\f5e0c238\003699d9_86d1ca01\LSL.DLL" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Mvc\2.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.DynamicData\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.DynamicData.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Linq.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll" /R:"C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\App_Web_zkzcodji.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activation\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.WorkflowServices\v4.0_4.0.0.0__31bf3856ad364e35\System.WorkflowServices.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" /out:"C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\App_Web_tptbtllk.dll" /D:DEBUG=1 /debug+ /win32resource:"C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\tptbtllk.res" /nowarn:41008 /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Collections.Specialized,System.ComponentModel.DataAnnotations,System.Configuration,System.Data.Entity.Design,System.Data.Linq,System.Linq,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.DynamicData,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls,System.Xml.Linq,System.Web.Mvc,System.Web.Mvc.Ajax,System.Web.Mvc.Html,System.Web.Routing /warnaserror- /optionInfer+ "C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\App_Web_tptbtllk.0.vb" "C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\App_Web_tptbtllk.1.vb" "C:\Users\Jay\AppData\Local\Temp\Temporary ASP.NET Files\root\6ea46d42\947d937c\App_Web_tptbtllk.2.vb" 


Microsoft (R) Visual Basic Compiler version 10.0.30128.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

X:\!My Programs\Web Sites\LSL\Views\Home\Index.aspx(38) : error BC30456: 'OnFileUploaded' is not a member of 'ASP.views_home_index_aspx'. 

      AddHandler __ctrl.FileUploaded, AddressOf Me.OnFileUploaded 
                 ~~~~~~~~~~~~~~~~~ 
X:\!My Programs\Web Sites\LSL\Views\Home\Index.aspx(38) : error BC30456: 'OnFileUploaded' is not a member of 'ASP.views_home_index_aspx'. 

      RemoveHandler __ctrl.FileUploaded, AddressOf Me.OnFileUploaded 
                 ~~~~~~~~~~~~~~~~~ 

我不知道還有什麼做,它只是不會識別控制名稱時,即時編寫事件簽名,緊接着「處理」關鍵字,來服務器控制名稱,然後一個點,然後事件名稱,但作爲事件它只是給我「我」,「MyBase」和「MyClass」選項運行事件...不讓我訪問「FileUpload.OnFileUploaded」這是控制名稱&事件名稱我想寫的子常規方法聲明(和隨後的方法)和簽名。

回答

1

我不認爲你可以做到這一點

也許你可以把它加入一個代碼隱藏你的看法,並添加方法,您試圖掛鉤到事件編譯。

但請記住,MVC頁面生命週期與WebForms的生命週期非常不同。大多數WebForms控件都依賴於WebForms生命週期來完成它們的工作;如果正確的事件不會被解僱等,控制將失敗。另外,在MVC中缺少視圖狀態的一個簡單的事情會爲許多控件創建問題。

如果你真的想;也許你可以做所有必要的管道工作來滿足你的控制。但這將是很多工作,沒有任何真正的好處。如果您確實需要使用該控件,我認爲您最好將Page設置爲正常的WebForms頁面。 (我認爲可以使用可用於MVC的良好免費文件上傳控件)。

請參閱ASP .NET WebForms Page Lifecycle,而不是MVC Page Lifecyclethis question

+0

我已經在過去很長一段時間搜索了,而不是最近爲一個好的ajax啓用(異步)文件上傳(沒有完整的回發),這將支持從選擇/對話框中的多個文件選擇。並返還百分比(%)信息,並且沒有發現任何三項要求。如果有人有,請告訴我。新建的ajax controltoolkit不會做最後兩個:(有一些codeplex的,但要麼描述得很差,要麼詳盡的擴展。 – 2010-04-01 11:25:28

+0

也是,重寫代碼隱藏,這是我已經做到了,只是指定index.aspx視圖頁面中的codebehind屬性,它似乎想要工作,但只是事件沒有掛鉤,我幾乎肯定它可能會工作,如果我們通過這一點。 – 2010-04-01 11:27:07