2013-05-16 8 views
0

나는 희망이 있습니다!자바 스크립트 코드가 작동하지 않습니다.

처음에는 동적 데이터를 사용하고 있으며 아래 코드는 전화 번호 용으로 맞춤화 된 TextBox입니다.

다음 코드는 브라질 전화 번호 마스크를 만듭니다. 또한 페이지를 생성하는 동적 데이터를 사용하고 있습니다.

<script type="text/javascript"> 
function mascaraTel(o, f) { 
    v_obj = o 
    v_fun = f 
    setTimeout("execmascaraTel()", 1) 
} 
function execmascaraTel() { 
    v_obj.value = v_fun(v_obj.value) 
} 
function mtel(v) { 
    v = v.replace(/\D/g, "");    
    v = v.replace(/^(\d{2})(\d)/g, "($1) $2"); 
    v = v.replace(/(\d)(\d{4})$/, "$1-$2"); 

    return v; 
} 
</script> 
<asp:TextBox ID="TextBox1" runat="server" CssClass="slm_TextBox" Width="140px" /> 

내가 코드 숨김

TextBox1.Attributes["onKeyDown"] = @"return mascaraTel(this, mtel);"; 

내가 이것을 듣고 싫어에 아래의 코드를 가지고,하지만 난 새로 만들기를 클릭 (내 비즈니스 로직의 어떤 객체를 생성) 할 때이 코드는 페이지에서 작동, 반면에 편집을 클릭하면 위의 코드가로드되지 않아 브라우저에서 'mascaraTel'이 정의되지 않았습니다.

편집을 클릭하면 코드가로드되지 않는 이유를 다른 사용자가 표시 할 수 있으며 새로 만들기를 클릭하면 올바르게 작동합니까?

미리 감사드립니다.

+0

새 개체 만들기? !!! 귀하의 질문에 세부 사항이 더 필요하십니까? – Adam

+0

내 비즈니스 논리의 모든 개체 만들기 – Guialro

답변

0

먼저 동적 데이터 웹 응용 프로그램 (또는 웹 사이트)의 DynamicData\FieldTemplates 폴더에있는 Text_Edit.ascx 필드 서식 파일을 기본값으로 변경했다고 생각합니다.

동적 데이터는 의 모든 일치하는 열에 대해 동일한 필드 템플릿을 사용합니다. Text_Edit 필드 템플릿이 자동으로 모든 열 유형 string의 (비즈니스 로직의 개체에 대한 )에 사용되는 모델의 (동적 데이터는 별칭 .NET 유형 String에 대한Text를 사용). 필드 템플릿의 정의를 변경하면 이 사용되는 모든 웹 페이지에 영향을받습니다..

따라서, 텍스트 필드 내부의 브라질에서 전화 번호에 대한 마스크를 구현하기 위해 사용자 정의 필드 템플릿을 작성해야합니다 (단지 기본 Text_Edit.ascx에서 사용자 지정 코드를 제거 잊지 마세요, Text_Edit.ascx을 복사 DynamicData\FieldTemplates에 붙여 넣기). 그런 다음 새 필드 템플리트의 이름을 BrazilPhone_Edit.aspx으로 변경하고 원하는대로 변경하십시오. 기사 How to: Customize ASP.NET Dynamic Data Default Field Templates를 읽을 자세한 내용은

[UIHint("BrazilPhone")] 
public object Phone_Number { get; set; } 

:

그런 다음 메타 데이터를 편집 할 수 있습니다.

관련 문제