-1

私は、JavaScript関数を使用してaspxファイルimにaspx、aspx.csファイルを持っています、

javascriptコードでは、aspx.csファイルで定義されているgetter(<%= getSize%>)メソッドを使用します。

しかし、ページには次のように返されます。「コントロールにコードブロックが含まれているため、コントロールコレクションを変更できません」なぜですか?

 <!-- language-all:lang-js -->
 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="uploadFile.aspx.cs"
Inherits="UploadControl_CustomProgressPanel" Title="Untitled Page" %>
 <!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 id="Head1" runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
var size = <%=getSize%>;
var id= 0;

function ProgressBar() 
{
if(document.getElementById("FileUpload1").value != "")
{
    document.getElementById("divProgress").style.display = "block";
    document.getElementById("divUpload").style.display = "block";
    id = setInterval("progress()",20);
    return true;
}
else
{
    alert("Select a file to upload");
    return false;
}    

}

function progress()
{
//size = size + 1;
if(size > 299) 
{
    clearTimeout(id);
 }
document.getElementById("divProgress").style.width =  size + "pt";
document.getElementById("lblPercentage").firstChild.data = parseInt(size / 3) +  "%";
}

aspx.csファイル:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class UploadControl_CustomProgressPanel : System.Web.UI.Page 
{   

   protected int size = 2;

   protected int getSize{ get { return this.size; }}


   protected void Page_Load(object sender, EventArgs e)
    {
    string UpPath;
    UpPath = "C:\\";
    if (! Directory.Exists(UpPath))
    {
        Directory.CreateDirectory("C:\\");      
    }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    //StatusLabel.Text = "File scelto, Upload in corso..";
    if(FileUpload1.HasFile)
    {
        try
        {   
            string filePath = Request.PhysicalApplicationPath;
            filePath += "classic/hub/csv/";
            filePath += FileUpload1.FileName;
            this.size = 50;
            FileUpload1.SaveAs(filePath);
            //StatusLabel.Text = "Upload status: File uploaded!";
            Label1.Text = "Upload successfull!";
        }
        catch(Exception ex)
        {
            //StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
        }
        }
    }
    }
4

2 に答える 2

1

完全なHTMLを投稿していませんが、スクリプトを<head>タグの外に移動してみてください。

于 2013-01-15T16:06:16.393 に答える
0

getSizeプロパティまたは関数ですか?プロパティサイズがページの読み込み時の値をとる場合、関数の場合、この方法では呼び出せないため、ページメソッドを確認する必要があります。例を次に示します。

于 2013-01-15T15:46:31.880 に答える