麻烦打开ajaxToolkit:使用JavaScript的ModalPopupExtender

时间:2017-07-12 11:49:32

标签: javascript c# asp.net

我正在尝试使用JavaScript打开JavaScript,但是当我运行我的代码并从此崩溃后面的代码中调用该函数并显示此错误时。

  

JavaScript运行时错误:无法获取未定义的属性“show”   或空引用

这是我的<script> function closeChangeArea() { $find('ModalChangeArea').hide(); } function showChangeArea() { $find('ModalChangeArea').show(); } </script>

protected void Btn_Click_Ch_Area(object sender, EventArgs e)
        {
            LinkButton lb = (LinkButton)sender;
            GridViewRow gr = (GridViewRow)lb.NamingContainer;

            Label ToolChange = (Label)gr.FindControl("Lbl_toolg");
            Txt_Tool_Reasign.Text = ToolChange.Text;

            ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showChangeArea();", true);
        }

这是我的代码:

ModalPoupExtender

这是我的<ajaxToolkit:ModalPopupExtender ID="ModalChangeArea" runat="server" TargetControlID="hid" PopupControlID="ChangeArea" RepositionMode="RepositionOnWindowResizeAndScroll" DropShadow="true" PopupDragHandleControlID="moveArea"> </ajaxToolkit:ModalPopupExtender>

componentWillMount() {
     getPatient().then(function(result) {
     //console.log(JSON.stringify(result));
     this.setState({PATIENT: result})
})


function getPatient() {
     const urlGetPatient = 'url_that_gets_patient_here';
     return fetch(urlGetPatient).then(function(response) {
       return response.json();
     }).then(function(json) {
       return json;
     }); 
 }

 render() {
     return (
       <App>
        …
       <OverviewPane overview={this.state.PATIENT} />
        …
       </App>
      }

class OverviewPane extends React.Component { 
     constructor(props) {
        super(props);
        autoBind(this);
     }

     render () {
        return (
         <table>
           <tbody>
             <tr>
              <td><Image src={this.props.overview[0].ProfileImg}/></td>
             </tr>
           </tbody>
          </table>
          );
        }
    }

1 个答案:

答案 0 :(得分:1)

在asp.net中,控件id动态地附加了容器,在这种情况下,你不会使用$ find来获取控件来使用asp.net控件的clientid或者设置ClientIdMode =“Static”。

尝试以下代码来访问元素。

$find('<%= ModalChangeArea.ClientID %>').show();
$find('<%= ModalChangeArea.ClientID %>').hide();