Search code examples
c#asp.net-mvctelerik-mvc

Popup form on page load


I am new to telerik and MVC, I am trying to pop up a model form (which allows user to subscribe) on page load in telerik. Here is the code in Index.cshtml, the test code "hello world" never been called.

@model Subscriber
 @{  Html.Telerik().Window()
    .Name("Window")
    .Title("Submit feedback")
    .Content(@<text>
        @using (Html.BeginForm("popupform", "window", FormMethod.Post, new { id = "feedback-form" }))
        {
            <p class="note">Subscribe<strong>not</strong> be saved.</p>

            @Html.LabelFor(model => model.Email)
            @Html.TextBoxFor(model => model.Email)
            @Html.ValidationMessageFor(model => model.Email)

            <div class="form-actions">
                <button type="submit" class="t-button t-state-default">Submit feedback!</button>
            </div>
        }
        </text>)
    .Width(400)
    .Draggable(true)
    .Modal(true)
    .Visible(false)
    .Render();
 } 

 @{
    ViewBag.Title = "Home Page";
 }
@{
Html.Telerik().ScriptRegistrar().OnDocumentReady(
@<text>
    // put some javascript goodness in here
   alert('hello world');
   $('#Window').data('tWindow').center().open();
</text>);
}

Solution

  • Try this:

    ....
    @{
        Html.Telerik().ScriptRegistrar().OnDocumentReady(@"OnInit();");
    }
    <script type="text/javascript">
    function OnInit() {
         // put some javascript goodness in here
         alert('hello world');
         $('#Window').data('tWindow').center().open();  
    }
    

    I suppose that your problem is in tags, but not sure. Code before must work in any case.